全部,我有以下代码来打开一些充当切换的div:
$(".tb-toggle").each(function(){
$(this).find(".box").hide();
});
$(".tb-toggle").each(function(){
$(this).find(".trigger").click(function() {
$(this).toggleClass("active").next().stop(true, true).slideToggle("slow");
return false;
});
});
这是我的HTML来显示切换:
<div class="tb-toggle toggle-fancy"><a href="#" class="trigger"><span>+</span>Toggle Accordion</a><div class="box">This is fancy toggle accordion</div><!-- .box (end) --></div>
<div class="tb-toggle toggle-fancy"><a href="#" class="trigger"><span>+</span>Toggle Accordion 2</a><div class="box">This is fancy toggle accordion 2</div><!-- .box (end) --></div>
<div class="tb-toggle toggle-fancy"><a href="#" class="trigger"><span>+</span>Toggle Accordion 3</a><div class="box">This is fancy toggle accordion 3</div><!-- .box (end) --></div>
这很好用,打开了我的切换功能。但是,当这种情况发生时,我希望关闭其他打开的Toggles。
我在jQuery上找到了这个http://jqueryui.com/demos/accordion/所以我试着将我的代码调整为:
$(".tb-toggle").each(function(){
$(this).find(".trigger").click(function() {
$(this).toggleClass("active").next().stop(true, true).slideToggle("slow");
return false;
});
}).next().hide();
这行不通。我想我可能不得不为其他类删除活动的toggle类,但不确定如何做到这一点。
我也尝试过这个代码:
$(".tb-toggle").each(function(){
$(this).find(".trigger").click(function() {
$(this).toggleClass("active").next().stop(true, true).slideToggle("slow");
return false;
});
}).next().toggleClass("active");
有人能给我指正确的方向吗?
以下是更新的JSFiddle:http://jsfiddle.net/HHtBX/
谢谢!
固定:)针对特定情况在jsfiddle之后更新工作演示:http://jsfiddle.net/HHtBX/2/
JQuery代码
$(".tb-toggle").each(function(){
$(this).find(".box").hide();
});
$(".tb-toggle").each(function(){
$(this).find(".trigger").click(function() {
$('.tb-toggle a').removeClass('active').next().slideUp('slow');
$(this).toggleClass("active").next().stop(true, true).slideToggle("slow");
//return false;
});
});
没有Jsfidle的早期版本
Hiya Okies这可能会帮助你:http://jsfiddle.net/tovic/CzE3q/
工作演示:(更加结构化)http://jsfiddle.net/CzE3q/21/-由于你没有jsfiddle,我认为你的HTML很好,并尝试这个
希望这有帮助,干杯!