jQuery延迟函数中断

Ric*_*ard 3 jquery interrupt delay

我在jQuery中有一个淡入淡出的弹出窗口,如果没有被用户解雇,它将在10秒内淡出.

我有代码:

$modalElement.fadeIn(1000).delay(10000).fadeOut(1000);
Run Code Online (Sandbox Code Playgroud)

这适用于淡入,延迟和淡出 - 但是'close'表单上的按钮在超时后才起作用!

我需要'close'按钮来中断delay,以便用户可以读取弹出并自己关闭,比如说,在5秒 - 然后如果他们自己没有关闭它,那么它将在10秒延迟后自动关闭.

任何想法如何做到这一点?

Ale*_*olo 7

您可以使用该.clearQueue()方法.

在您的关闭处理程序中,您可以这样做:

$modalEleement.clearQueue();
Run Code Online (Sandbox Code Playgroud)

默认情况下,.delay().clearQueue()在操作fx队列中,但是你可以通过自定义的队列名称.