我试图在div
显示之后隐藏toggle
超时。要显示它我使用$('#slidable').animate({width: 'toggle'});
我添加.delay(2000).hide();
但似乎它不起作用。为什么呢?
代码:
<script>
jQuery(document).ready(function($) {
$( "#side" ).click(function() {
$('#slidable').animate({width: 'toggle'}).delay(2000).hide();
});
})
</script>
答案 0 :(得分:1)
您可以处理此问题的最佳方法是使用动画的完整回调,因为没有任何持续时间的hide
不会传递到fx队列。
$('#slidable').animate({width: 'toggle'}, function(){
$(this).hide();
});
答案 1 :(得分:1)
hide()
只是一个动画方法,否则它不会被添加到fx队列中,delay()
将无效:
$('#slidable').animate({width: 'toggle'}).delay(2000).hide(1);
你甚至可以传递零!
答案 2 :(得分:1)
您需要使用animate()的“完整”回调。 这样,当切换完成时,延迟开始。 例如:
$('#slidable').animate({
width: 'toggle'
}, 400, function () {
$('#slidable').delay(2000).hide();
})
});