jquery toggle accordian without plugin
嗨有两个内容部分,我一次只想打开1个。它们都会在点击标题时崩溃并打开。我现在正在使用它们彼此独立的地方但是我希望它们在显示时隐藏另一个。我不想使用jquery手风琴的插件。
这是我现在的代码:
HTML:
<div class="topCats">
<h4><a href="#" class="openBox">Most Searched Categories</a></h4>
</div>
<div id="topCatsContainer">
content 1
</div>
<div class="allCats">
<h4><a href="#" class="closed">All Categories</a></h4>
</div>
<div id="allCatsContainer">
content 2
</div>
JS:
$('#allCatsContainer').css("display", "none");
$('.topCats h4 a').click( function() {
$('#topCatsContainer').slideToggle(500);
$(this).toggleClass("openBox");
});
$('.allCats h4 a').click( function() {
$('#allCatsContainer').slideToggle(500);
$(this).toggleClass("openBox");
});
任何帮助将不胜感激。
谢谢
没有找到相关结果
已邀请:
2 个回复
苛肠倒俱
HTML是相同的,除了我为每个内容div添加了一个类。 JS:
基本上JS会找到与单击的链接匹配的内容。如果内容可见,那么它就会自行关闭。如果它不可见,那么我们关闭任何可见的并打开点击的内容。 如果你注意到我正在切换
和
类,这可能是多余的,但我不确定你的造型是否依赖它。 一般来说,这个功能可以通过多种方式实现,如果你愿意改变你的HTML,我们可以让JS方面看起来更具代表性:)否则你可以使用这个实现并避免任何造型问题。
靛取糕奖穿
更新:上面对他不起作用,因为
和
之间没有直接联系。这真的很难看,但以下作品http://jsfiddle.net/mrtsherman/MPwQ8/3/
有很多更好的方法来做到这一点。我提供给你的初始链接有一个例子。如果你想要更强大的东西,那么你需要创建一些方法来逻辑地将你的链接绑定到你的div。