隐藏的Jquery切换超时

时间:2013-11-18 19:37:23

标签: jquery

我试图在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>

3 个答案:

答案 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();
    })
});