找到下一个框类并关闭它

时间:2012-03-22 03:33:03

标签: jquery jquery-ui

全部, 我有以下JS小提琴:http://jsfiddle.net/HHtBX/11/

我试图基本上关闭所有其他打开的盒子。所以在它打开onClick并切换一个打开后我尝试关闭其他所有内容。

切换部分工作正常,但我无法关闭打开的框。关于如何实现这一目标的任何想法?

谢谢!

7 个答案:

答案 0 :(得分:3)

像这样:http://jsfiddle.net/49bWx/添加:

    $('.trigger.active').not(this).toggleClass("active").next().slideToggle('slow');

答案 1 :(得分:1)

这个怎么样

  $(".trigger").click(function() { 
    $(this).toggleClass("active").next().slideToggle('slow', function(){
        $('.box').not(this).slideUp('slow');    
    });
    return false;
  });

答案 2 :(得分:0)

在onclick事件中隐藏所有展开的项目(带有类框)。

$(".trigger").click(function() { 
    $(".box").slideUp(); 
    $(this).toggleClass("active").next().slideToggle('slow');
    return false;
}).find(".box").next().slideToggle('slow');

以下是工作示例:http://jsfiddle.net/HHtBX/13/

答案 3 :(得分:0)

$(".tb-toggle").each(function(){
    $(this).find(".box").hide();
});

$(".trigger").click(function() {
    $(".tb-toggle").each(function(){
        $(this).find(".box").hide();
    });

    $(this).toggleClass("active").next().slideToggle('slow');
    return false;
}).find(".box").next().slideToggle('slow');

答案 4 :(得分:0)

尝试

$(".trigger").click(function() { 
  $(".box").slideUp('slow');
  $(this).toggleClass("active").next().slideToggle('slow');    
  return false;    
});

答案 5 :(得分:0)

http://jsfiddle.net/HHtBX/14/试试这个,

    var next=$(this).toggleClass("active").next();
    next.slideToggle('slow');
    $('.box:visible').not(next).slideToggle('slow');

答案 6 :(得分:0)

打开这个盒子时,是否要隐藏所有其他盒子?

$(".tb-toggle").each(function(){
    $(this).find(".box").hide();
});

$(".trigger").click(function() { 
    $(this).toggleClass("active").next().slideToggle('slow');
    $(".trigger.active").not(this).removeClass("active").next().slideUp('slow');
    return false;
}).find(".box").next().slideToggle('slow');

我把它放在小提琴上http://jsfiddle.net/HHtBX/18/