切换菜单不起作用

时间:2012-08-08 06:15:29

标签: javascript html toggle

我正在为我的网站尝试切换菜单。但它没有用。我希望当有人点击链接时,会打开一个菜单而不是新页面。以下是一个HTML和 java script snippet。

<div>
 <a href="http://directory/websites.jsp" class="menu_link">Menu</a>
 <ul class="menu" id="websites">
    <li><i>Stackexchange</i> <br/>
     <a href="#">SE</a>
    </li>
 </ul>
</div>

js:

window.onload = initAll;

function initAll() {
   var allLinks = document.getElementsByTagName("a");
   for( var i=0 ; i<allLinks.length ; i++ ) {
      if(allLinks[i].className.indexOf("menu_link") > -1) {
          allLinks[i].onclick = toggleMenu;
      }
   }
}

function toggleMenu() {
  var start = this.href.lastIndexOf("/") + 1;
  var stop = this.href.lastIndexOf(".");
  var thisMenuName = this.href.substring(start,stop);
  var thisMenu = document.getElementById(thisMenuName).style;

  if(thisMenu.display == "block") {
     thisMenu.display = "none";
  } else {
     thisMenu.display = "block";
  }

  return false;    
}

我在哪里犯了错误?

1 个答案:

答案 0 :(得分:0)

<div>
 <a href="http://directory/websites.jsp" class="menu_link">
 <ul class="menu" id="websites">
    <li><i>Stackexchange</i> <br/>
     <a href="#" class="menu_link">SE</a>
<ul id="menu">
<li>abc...</li>
<li>abc...</li>
</ul>

    </li>
 </ul>
</div>