2

这是我当前的代码。它可以工作,但是当运行另一个事件(例如通过单击按钮)时,我需要它停止并重置淡出。

代码

$('#selector').delay(5000).fadeOut('slow');
  • 我读过我需要使用animateorsetTimeOut代替delay?
  • 这样做的最佳方法是什么?

例子

就我而言,我在屏幕顶部有一个状态栏,如果我单击更新状态栏的内容,它不会消失。

4

3 回答 3

3

重置计时器

这是在设置定时器之前调用的。如果我疯狂地点击,它会阻止计时器完成。它停止并重置计时器。

clearTimeout(my_timer);

设置定时器

my_timer = setTimeout(function () {
    $('#selector').fadeOut('slow');
}, 5000);
于 2013-01-11T12:39:52.093 回答
2

只需调用.stop()淡入淡出元素上的方法:(#selector2是停止淡入淡出的按钮)

$('#selector2').click(
    function()
    {
        $('#selector').stop();
    }
);
于 2013-01-11T08:03:22.990 回答
0

见函数 clearQueue() https://api.jquery.com/clearQueue/

于 2015-05-18T14:58:37.000 回答