2014-01-11 37 views
0
$('.shutter').bind("click", function() { 
    $(".expander").slideToggle("800", "easeOutCubic"); 
}); 

,但如果我不希望扩展的height= 0;集胶印是jQuery的切换滑动

如果我想height = 20px(偏移量)将向上滑动后,所以我的问题是,是否有任何可能的方式来在toggleSlide方法或其他替代方法中设置偏移量?像:

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

我知道上面的例子是不是正确的,但它只是一个例子来告诉你我想要什么..

回答

1

对于slideToggle后申请height: 20px;,添加一个回调:

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

UPDATE:后评论,你已经使用了easeOutCubic不当,而不是用它想:

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

这里有一个JSFiddle

+0

不工作.... – Faizan

+0

什么是不工作?这将在幻灯片切换完成后应用高度为20px的CSS样式。如果这不是你想要的,请更改你的问题以使其更清楚。 – Enijar

+0

这不符合你的想法,没有设置高度后滑动,如果你仍然认为它应该工作,然后提供JsFiddle示例 – Faizan

0

你可以动画的高度,而不是使用slideToggle()方法:

jsFiddle

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