问题在于:jsFiddle
我想要的是黄色高度从60px变为20px仅 AFTER 它被滑下(它在点击时滑动)。怎么解决?
$(document).ready(function ()
{
$('#slide-link').click(function(){
$(this).animate({ top: $(window).height()-40 },5000)
$('#sliderWrapper').stop().hide("slide", { direction:"down" }, 5000);
$('#slide-link').height(20)
//I want 20px to become after #sliderWrapper slided down, not on click
//That's why I put $('#slide-link').height(20) as the last line
// But it triggers asap. How to fix?
})
})
据我所知,$('#slide-link').height(20)
不会等到$('#sliderWrapper').stop().hide("slide", { direction:"down" }, 5000);
完了。
P.S。 $('#slide-link').delay(5000).height(20)
也没有帮助。为什么?怎么解决?
答案 0 :(得分:4)
.delay()
仅影响使用动画队列的函数。但是,.height()
根本不与动画相关,因此不使用该队列。
你想要的是动画完成后触发的.hide()
的回调:
$('#sliderWrapper').stop().hide("slide", {
direction: "down"
}, 5000, function() {
$('#slide-link').height(20)
});