为什么这个菜单没有切换?

时间:2012-01-24 21:35:02

标签: javascript

在我的网站上(http://test.tamarawobben.nl)我使用手风琴菜单。当我选择2005年的选项时,在2006年之后,2005年保持开放,虽然我预计它会关闭。

任何人都可以给我一个暗示,为什么会发生这种情况以及如何解决它?

鲁洛夫

3 个答案:

答案 0 :(得分:0)

您正在使用的这种插件的标记似乎有误。

您的标记看起来像这样,每个菜单都有几个菜单项:

<ul class="menu">
  <li><a href="#">2005</a></li>
  <ul>
    <li>Subitem</li>
    ....
  </ul>
</ul>

<ul class="menu">
  <li><a href="#">2006</a></li>
  <ul>
    <li>Subitem</li>
    ....
  </ul>
</ul>

我怎么看,带有“menu”的ul - 元素必须作为包装器工作,所以应该只有一个“menu”元素,其中包含所有列表。否则它将无法用作手风琴。尝试这样的事情:

<ul class="menu">
    <li><a href="#">2005</a></li>
    <ul>
      <li>Subitem</li>
      ....
    </ul>

    <li><a href="#">2006</a></li>
    <ul>
      <li>Subitem</li>
      ....
    </ul>
</ul>

答案 1 :(得分:0)

这是我实现你想要实现的目标的一个方面。由于您没有提供代码,我猜测了HTML并编写了一些jQuery。

jsfiddle:http://jsfiddle.net/ninty9notout/6E2xJ/1/

祝你的项目好运。

答案 2 :(得分:0)

我的第一个观察是你需要为每个菜单的类名添加'collapsible',即:

<ul class="menu collapsible" id="menu2005">

<ul class="menu collapsible" id="menu2006">

(演示:http://jsfiddle.net/c24w/zN6d9/

我知道JavaScript,HTML和CSS,但不知道jQuery&gt;。&lt;但是,如果我到达任何地方,我会有一个小提琴和更新!

编辑:

好的,所以在jsfiddle上度过了几年之后,我意识到我无法从HTML部分删除对menu.js的引用,因此忽略了我在JavaScript部分中的修改:(

Anywho,我给自己做了一个盯着jQuery的速成课程并且对它有了相当的熟悉!我确信我已经解决了这个问题,尽管如上所述,我犯了那个愚蠢的错误。

现在,到目前为止,我对JavaScript和BAM进行了一些改动: http://jsfiddle.net/c24w/zN6d9/1/

更新你的menu.js看起来像JavaScript部分并记住我上面提到的那些类名! :)