-2

我有三个按钮,每个按钮调用两个函数 jquery,一个用于显示,一个用于关闭,图片。

在要打开的函数内部,我有一个顺序函数列表。但是,可能会发生用户单击按钮而功能尚未完成列表并单击另一个按钮的情况。

所以我需要调用一个函数并中断另一个函数,有人知道该怎么做吗?

我正在使用 jquery 动画

4

1 回答 1

1

所以我需要调用一个函数并中断另一个函数,有人知道该怎么做吗?

你不能真正做到这一点,因为浏览器上的 JavaScript 是单线程的(除非使用Web Workers,但即使那样你也只有 UI 线程)。所以你不能中断函数调用的执行。

但是,如果您使用 jQuery 的动画/效果函数,您所做的调用只是将操作放入队列中,然后 jQuery 会异步运行,您可以通过调用stop元素来中断该操作。

举个例子:

function kickThingsOff() {
    // These could all be written in one line as a chain, but I'm doing them
    // separately for emphasis
    var elm = $("#myElement");
    elm.fadeOut("slow");
    elm.fadeIn("slow");
    elm.slideUp("slow");
}

function interruptIt() {
    $("#myElement").stop(true, true);
}

您实际上不能kickThingsOff在中间中断(例如,在线条和线条之间fadeInslideUp但您可以通过.stop

于 2013-05-06T13:23:57.827 回答