2016-09-12 3 views
1

Так что я написал этот короткий код для небольшого проекта шахты, вот код:бесконечный цикл шашка аварий - Jquery

while(true){ 


if(PremiumExchange.data.stock["wood"]>=64){ 

var x = PremiumExchange.data.stock["wood"]; 
document.getElementsByName('buy_wood')[0].value = x; 
document.getElementsByClassName('btn float_right btn-premium-exchange-buy')[0].click(); 
document.getElementsByClassName('btn evt-confirm-btn btn-confirm-yes')[0].click(); 

} 
} 

По существу «PremiumExchange.data.stock["wood"]» обновления случайно после того, как иногда на веб-странице. Я хотел бы установить код, чтобы он следил за ним, а затем выполняет то, что я ему инструктировал.

Проблема в том, что если я использую бесконечный цикл, он зависает. Есть ли способ обойти это? Может быть, какой-то таймер?

Заранее спасибо.

EDIT: Я также попытался

function wait(){ 
    if (!(PremiumExchange.data.stock["wood"]>=64)){ 
    setTimeout(wait,500); 
    } else { 
    var x = PremiumExchange.data.stock["wood"]; 
document.getElementsByName('buy_wood')[0].value = x; 
document.getElementsByClassName('btn float_right btn-premium-exchange-buy')[0].click(); 
document.getElementsByClassName('btn evt-confirm-btn btn-confirm-yes')[0].click(); 
    } 
} 

Но не похоже на работу. Я делаю что-то неправильно?

+0

Возможный дубликат [Javascript: Non-blocking way to wait to condition is true] (http://stackoverflow.com/questions/12841568/javascript-non-blocking-way-to-wait-until-a- condition-is-true) – scrappedcola

+1

Не могли бы вы попробовать 'setInterval'? – StardustGogeta

+0

@StardustGogeta Я новичок, я понятия не имею, как это использовать. Не могли бы вы привести мне пример? –

ответ

1

function test() { 
 
    if (document.getElementById("test").value) { 
 
    console.log("Success!"); 
 
    clearInterval(int); 
 
    } 
 
} 
 

 
var int = setInterval(test,0);
<input id="test"></input>

Это пример настройки теста, не вызывая повесить.

При необходимости clearInterval включен, чтобы выполнить его только один раз.

+0

Большое спасибо –

+0

@Con Добро пожаловать. :) – StardustGogeta

Смежные вопросы