我試圖找到一種方法來停止某個點的功能,直到某些事物沒有特定的類。我不能改變這個類被分配和移除的地方,因爲它是一個插件。jQuery while object.hasClass
我的想法做這樣的事情
function DoSomething() {
while ($('div.divControl').hasClass('playing'))
{
//Wait here
}
};
的這是正確的方式去?
我試圖找到一種方法來停止某個點的功能,直到某些事物沒有特定的類。我不能改變這個類被分配和移除的地方,因爲它是一個插件。jQuery while object.hasClass
我的想法做這樣的事情
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是否每個季度都有這個類。
不過,不是很好在所有= [
這是一個馬虎的修復。 – 2012-01-12 15:39:38
我不反對你:P – Doug 2012-01-13 10:26:17
爲什麼不編輯插件本身?這很可能會導致崩潰。 – OptimusCrime 2012-01-12 15:37:48
你應該檢查你是否不能使用插件本身......「播放」聽起來像是視頻或音頻播放器的愛好者。如果這是一個很好的插件,我想可能會有'onstop'或'onfinish'事件(或類似的東西),你可以聽。 – Connum 2012-01-12 15:41:18
如果沒有任何onstop或onfinish事件,添加它們並不難。 – 2012-01-12 15:42:27