在我的网站上(http://test.tamarawobben.nl)我使用手风琴菜单。当我选择2005年的选项时,在2006年之后,2005年保持开放,虽然我预计它会关闭。
任何人都可以给我一个暗示,为什么会发生这种情况以及如何解决它?
鲁洛夫
答案 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部分并记住我上面提到的那些类名! :)