2014-10-09 5 views
0

Довольно много, мой вопрос прост, и я искал аналогичный вопрос, прежде чем публиковать его. Я хотел бы знать, как сделать код Javascript повторно выполняемым, пока страница открыта, а не код, выполняющийся один раз и выполняемый или отвечающий только обработчикам событий. Я довольно много хочу Javascript equivilant из:Проверить состояние Javascript Каждый кадр

$(document).ready(function() { 

}); 

Но я не хочу использовать Jquery, потому что это менее эффективно. Я хочу проверить условие === для каждого кадра.

+0

смотреть вверх setInterval() – jollarvia

+0

Спасибо! Можете ли вы дать мне быстрый пример кода, как фактически включить его в мои желаемые результаты? – turkey3

+1

*, а не код, выполняющийся один раз и выполняемый или реагирующий только на обработчики событий. Это то, что вы должны (должны) делать. Если ваш код работает без остановок, страница замерзнет. Если вы используете цикл setInterval, то это даже не эффективный подход к какой-либо проблеме. Я не знаю, что вы здесь делаете, но каждый раз, когда вы пытаетесь выполнить один и тот же код несколько раз, это будет неэффективно (это говорит о том, что jQuery часто более эффективен, чем код, который вы пишете.) –

ответ

-1
setInterval(function(){ 
    var blah = whatever; 
    if (done){ 
     clearInterval(); 
    } 
},time_in_milliseconds); 

цикл продолжает цикл за ваш миллисекундный аргумент. Если вы хотите, чтобы цикл был более тонким, чем миллисекунда, или так сильно, как компьютер может это сделать, достаточно обычного (true) {}.

+0

Прохладный! Я собираюсь использовать это для проверки обработчиков onClick для многих элементов в цикле. Последний вопрос: что было бы лучшим выбором для его запуска, если частота кадров составляет 60 в секунду, ровно 60 кадров в секунду? Я предполагаю, что я установил 16,6 миллисекунды? Но я хочу, чтобы условие проверялось на каждый кадр, так что бы хватило бы 10 миллисекунд? – turkey3

+0

time_in_milliseconds = 1000; //в секунду; time_in_milliseconds/= 60; – jollarvia

+0

setInterval не блокирует, так что, как упомянутый выше дерек, это будет способ пойти, если вы пытаетесь сделать что-то вроде игры – jollarvia

2

Использование SetInterval .. внутри функции window.onload

 window.onload = function() {    
function test() { 
    alert("test"); 
} 
setInterval(test, time_miliseconds); 

}

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