我应该如何停止 javascript 两次调用同一个函数,直到它完成第一次调用?

How should I stop javascript to call the same function twice until it finishes with first call?

我正在处理图像滑块并在其中使用过渡。因此,当我点击 "next button" 以在转换过程中获取下一张图像时,该函数会为下一张图像调用,尽管最后的转换影响尚未完成。

在最后一个转换完成之前,我应该如何停止要调用的函数?请帮忙!谢谢。

当我在没有过渡的情况下工作时,它工作得很好但在 mozilla 中并不顺利,所以我想出了过渡来实现它!现在比以前好多了,但会产生问题,因为转换需要时间来执行,如果在这段时间内,我点击下一张图片,它会调用下一个转换效果的函数。

您要找的是'debouncing'。如果你可以使用外部库,我会推荐使用enter link description here。 Underscore 提供了类似的功能。此函数可确保您的函数不会被调用两次,甚至可以在两次调用之间设置延迟。

如果你不能那么,你可以 google 像 this one 这样的示例实现(我没有测试这个,因为我通常使用 lodash's)。

希望对您有所帮助。