jQuery 如何切换多个 div 的显示/隐藏?

3

我有四个div,分别为a b c d,使用Jquery的toggle打开和关闭,每个div都可以自己关闭。

还有一个按钮可以全部打开或关闭。

但是,如果用户首先点击'b',然后再点击'close all'按钮,则会变成a、c、d关闭b打开。是否有一种方法可以使一个按钮在hide之后更改为show的功能?

http://jsfiddle.net/vyPHZ/

$(document).ready(function(){

    $(".toggle").click(function(){$(this).next("div").slideToggle(300);});

    $("#collapse").click(       
        function(){
            $(".content").toggle(); 
        }
    );  
});

如果 b 是关闭的,而你点击了“全部”按钮,你希望发生什么?应该全部打开还是关闭?如果它们都关闭了,但有一个是打开的呢? - Sean Redmond
2个回答

3

http://jsfiddle.net/vyPHZ/2/

$(".toggle").click(function () {
    $(this).next(".content").slideToggle(300);
});

var io = 0;
$("#collapse").click(function () {       
    $(".content")[io++%2?'show':'hide']();
});

同时,如果您愿意,可以使用'slideDown':'slideUp'代替'show':'hide'http://jsfiddle.net/vyPHZ/3/


2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接