这是我当前的代码。它可以工作,但是当运行另一个事件(例如通过单击按钮)时,我需要它停止并重置淡出。
代码
$('#selector').delay(5000).fadeOut('slow');
- 我读过我需要使用
animate
orsetTimeOut
代替delay
? - 这样做的最佳方法是什么?
例子
就我而言,我在屏幕顶部有一个状态栏,如果我单击更新状态栏的内容,它不会消失。
这是我当前的代码。它可以工作,但是当运行另一个事件(例如通过单击按钮)时,我需要它停止并重置淡出。
代码
$('#selector').delay(5000).fadeOut('slow');
animate
orsetTimeOut
代替delay
?例子
就我而言,我在屏幕顶部有一个状态栏,如果我单击更新状态栏的内容,它不会消失。
重置计时器
这是在设置定时器之前调用的。如果我疯狂地点击,它会阻止计时器完成。它停止并重置计时器。
clearTimeout(my_timer);
设置定时器
my_timer = setTimeout(function () {
$('#selector').fadeOut('slow');
}, 5000);
只需调用.stop()
淡入淡出元素上的方法:(#selector2
是停止淡入淡出的按钮)
$('#selector2').click(
function()
{
$('#selector').stop();
}
);
见函数 clearQueue() https://api.jquery.com/clearQueue/