Показать сообщение отдельно
Старый 26.07.2008, 00:40     # 4
Viro_man
Banned
 
Аватар для Viro_man
 
Регистрация: 11.06.2008
Сообщения: 57

Viro_man Путь к славе только начался
Даже не вдаваясь особо в подробности, на минус приходится жать дважды, потому что тот уже раскрыт и получает, как и картинки-плюс одну и ту же функцию slideshow(this). В таком случае надо, чтобы была дополнительная проверка, какая картинка актуально загружена и по ней присваивать функции..

добавлено через 20 минут
Вот, самое простое решение.
Код:
<script type="text/javascript">
//<![CDATA[
  function getElementsByClassName(id,cls){
    var o=document.getElementById(id);
    var aelem=[];
    oaelem=o.getElementsByTagName("*");
    for(var i=0;i<oaelem.length;i++){
      if (oaelem[i].className==cls ){
        aelem[aelem.length]=oaelem[i];
      }
    }
    return aelem;
  }
  function slideshow(obj){
    obj.parentNode.parentNode.getElementsByTagName("ul")[0].style.display = "";
    obj.innerHTML = "<img src='icon_list_down.gif' alt='-' />";
    obj.onclick = new Function("slidehidden(this)");
  }
  function slidehidden(obj){
    obj.parentNode.parentNode.getElementsByTagName("ul")[0].style.display = "none";
    obj.innerHTML = "<img src='icon_list_up.gif' alt='+' />";
    obj.onclick = new Function("slideshow(this)");
  }
function test(testvar) {
if(testvar.parentNode.parentNode.getElementsByTagName("ul")[0].style.display=="none") { slideshow(testvar); }
else { slidehidden(testvar); }
}

  var a=getElementsByClassName("categoryTree","toggleblock");
  for(var n=0;n<a.length;n++){
    var olink=a[n].getElementsByTagName("h4")[0].firstChild;
  olink.onclick = new Function("test(this)");
  }
//]]>
</script>

Последний раз редактировалось Viro_man; 26.07.2008 в 00:44.
Viro_man вне форума