0

我正在为我的网站尝试切换菜单。但它不起作用。我希望当有人点击链接时,会在那里打开一个菜单而不是一个新页面。以下是一个 html 和 java 脚本片段。

<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;    
}

我在哪里犯错?

4

1 回答 1

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>
于 2012-08-08T06:19:53.443 回答