在jQuery Toggle Slide中设置Offset

时间:2014-01-11 13:31:27

标签: jquery

$('.shutter').bind("click", function () {
    $(".expander").slideToggle("800", "easeOutCubic");
});

但如果我不想要扩展器的height= 0;

如果我在应用向上滑动后需要height = 20px(偏移量),那么我的问题是,是否有任何可能的方法在toggleSlide方法或任何替代方法中设置偏移量?像:

$('.shutter').bind("click", function () {
    $(".expander").slideToggle{20, ("800", "easeOutCubic")};
});

我知道上面的例子不是正确的,但它只是一个例子来向你展示我想要的东西..

2 个答案:

答案 0 :(得分:1)

要在height: 20px;之后应用slideToggle,请添加回调:

$('.shutter').bind("click", function() {
        $(".expander").slideToggle("800", "easeOutCubic", function() {
            $(this).css({'height':'20px'});
    });
});

更新:评论后,您使用easeOutCubic不正确,而是使用它:

$('.shutter').bind('click', function() {
    if($('.expander').attr('style') == 'height: 20px;') {
        $('.expander').animate({'height':'200px'}, 800);
    } else {
       $('.expander').animate({'height':'20px'}, 800);
    }
});

这是JSFiddle

答案 1 :(得分:0)

您可以为高度设置动画,而不是使用slideToggle()方法:

jsFiddle

 $('.shutter').bind('click', function () {
     var $expander = $('.expander');
     $expander.finish().animate({
         height: $expander.height() === 200?20:200
     }, '800',"easeOutCubic");
 });