jQuery while object.hasClass

jQuery while object.hasClass

本文关键字:hasClass object while jQuery      更新时间:2023-09-26

我正试图找到一种方法,在某个点停止一个函数,直到某个函数不再有特定的类为止。我无法更改这个类的分配和删除位置,因为它是一个插件。

我想做一些类似的事情

function DoSomething() {
        while ($('div.divControl').hasClass('playing'))
        {
            //Wait here
        }
    };

这是正确的路吗?

这将阻塞,因此元素永远不会更改,因为不会执行其他代码。您需要使用的是一个间隔:

var interval = setInterval(DoSomething, 500);
function DoSomething() {
        if ($('div.divControl').hasClass('playing'))
        {
            // Do something
            clearInterval(interval);
        }
    };

这将每隔半秒执行一次函数。功能成功后,间隔将被取消。

不,这只会在浏览器进入无限循环时挂起浏览器。

你最好的选择(我目前认为最好)是对函数执行setTimeout,并让它每隔四分之一秒左右检查一下你的div是否还有这个类

不过,一点也不好=[