+ -
当前位置:首页 → 问答吧 → js菜单伸缩的问题,

js菜单伸缩的问题,

时间:2011-01-19

来源:互联网

我用JS控制 菜单的伸缩,点击一下,展开,再点击,关闭
我的 mainMenu和subMenu是平行的<div>,所以下面的/2:
mainMenu的onclick="menu(i)"
  1. function menu(id)
  2.           {
  3.               var subEl=document.getElementById("divSub"+id);
  4.               var mainMenus = document.getElementById('divParent'+id).parentNode.childNodes.length/2;
  5.               for( var i=0; i< mainMenus; i++ )
  6.               {
  7.                     alert(i+'-'+id);
  8.                     if(i!==id)
  9.                     {
  10.                         if(subEl)
  11.                          subEl.style.display="none";
  12.                     }
  13.                     else
  14.                     {
  15.                         if(subEl.style.display=='none') subEl.style.display='block';
  16.                         else subEl.style.display='none';
  17.                     }
  18.               }
  19.           }
复制代码
问题:我第一次点击后,不展开;当我第二次点击后,展开,但又关闭了?
没有弄明白!!

作者: ssqhan   发布时间: 2011-01-19

改成这样后,怎么什么也不反应:
  1. function menu(id)
  2.           {
  3.               var subID="divSub"+id;
  4.               var mainMenus = document.getElementById(subID).parentNode.childNodes.length/2;
  5.               for( var i=0; i< mainMenus; i++ )
  6.               {
  7.                     if(i!=id)
  8.                     {
  9.                         if(document.getElementById(subID))
  10.                           document.getElementById(subID).style.display="none";
  11.                     }
  12.                     else
  13.                     {
  14.                         if(document.getElementById(subID).style.display=="none") document.getElementById(subID).style.display="";
  15.                         else document.getElementById(subID).style.display="none";
  16.                     }
  17.               }
  18.           }
复制代码

作者: ssqhan   发布时间: 2011-01-19