1

我正在尝试为显示/隐藏功能制作简单的 jquery 代码。但我仍然做错了什么。

$(document).ready(function(){
    $('.arrow').click(function() {
        $('#box').show("slow");     
    });

    $('.arrow').click(function() {
        $('#box').hide("slow");
    }); 
    $('.arrow').click(function() {
        $('#box').show("slow");     
    }); 
});

http://jsfiddle.net/Armgh/

4

3 回答 3

7

使用toggle

$(document).ready(function(){
    $('.arrow').click(function() {
        $('#box').toggle('slow');       
    }); 
});

http://jsfiddle.net/Armgh/1/

或者您可以保存您的状态并手动切换:

$(document).ready(function(){
    var hidden = false;
    $('.arrow').click(function() {
        if (hidden) {
            hidden = true;
            $('#box').hide("slow");
        } else {
            hidden = false;
            $('#box').show("slow");
        }
    });
});

http://jsfiddle.net/Armgh/

编辑

使用slideUp/ slideDown,你可以这样做:

$(document).ready(function(){
    var hidden = false;
    $('.arrow').click(function() {
        if (hidden) {
            hidden = false;
            $('#box').slideDown("slow");
        } else {
            hidden = true;
            $('#box').slideUp("slow");
        }
    });
});

http://jsfiddle.net/Armgh/3/

或使用幻灯片切换

$(document).ready(function(){
    $('.arrow').click(function() {
        $('#box').slideToggle("slow");
    });
});

http://jsfiddle.net/Armgh/4/

于 2013-01-06T08:20:48.817 回答
0

您应该简单地使用 .toggle 功能:

$(document).ready(function(){

    $('.arrow').click(function() {
        $('#box').toggle("slow");     
    });

});
于 2013-01-06T08:24:56.290 回答
0

slow您也可以使用带有 [ , medium, fast] 参数的任何切换,

   $(document).ready(function(){
        $('.arrow').on('click', function() {
            $('#box').toggle("slow");  
        });
    });
于 2017-09-10T19:53:39.693 回答