问题描述
我用JS控制 菜单的伸缩,点击一下,展开,再点击,关闭我的 mainMenu和subMenu是平行的<div>,所以下面的/2:mainMenu的onclick="menu(i)"function menu(id) { var subEl=document.getElementById("divSub"+id); var mainMenus = document.getElementById('divParent'+id).parentNode.childNodes.length/2; for( var i=0; i< mainMenus; i++ ) { alert(i+'-'+id); if(i!==id) { if(subEl) subEl.style.display="none"; } else { if(subEl.style.display=='none') subEl.style.display='block'; else subEl.style.display='none'; } } }问题:我第一次点击后,不展开;当我第二次点击后,展开,但又关闭了?没有弄明白!! 问题补充:kjah 写道
解决方案
第15行 条件判断应该判断计算后的样式获得计算后样式,ie用currentStyle,其他用getComputedStyle:var style=test1.currentStyle||window.getComputedStyle(test1,null);然后判断 style.display