0

我的问题是,当 slideToggle 函数被称为“向上”(向上滑动/隐藏)时,我该怎么做?

    $('#achs').click(function() {
         $('#ach').slideToggle(function() {

//When slideToggle is going to hide, I wish to addCss to something else. 

            });
        $('#ach').addClass('active');
    });
4

2 回答 2

0
$('#achs').click(function() {
    $('#ach').slideToggle(function() {
         if($("#ach").is(":visible")) {
            // do something
         }
    });
    $('#ach').addClass('active');
});
于 2013-09-02T14:10:08.943 回答
0

假设您想在元素即将向上滑动时添加 CSS,而不是在它完成向上滑动时添加 CSS,您可以在调用之前使用:visibleslideToggle()选择器:

$("#achs").click(function() {
    var $this = $(this);
    if ($this.is(":visible")) {
        // Add CSS to something else...
    }
    $this.slideToggle().addClass("active");
});

如果您希望在元素完成向上滑动时添加 CSS,您可以依赖传递给的回调函数slideToggle()并使用:hidden选择器进行测试(因为元素将在动画结束时隐藏,在回调之前调用):

$("#achs").click(function() {
    $(this).slideToggle(function() {
        if ($(this).is(":hidden")) {
            // Add CSS to something else...
        }
    }).addClass("active");
});
于 2013-09-02T14:10:44.773 回答