2013-09-30 1 views
0

Каков наилучший способ сохранить код JS (каждый 100 мс в м случае), пока документ не будет готов.Выполнить Js-код до тех пор, пока документ не будет готов

setInterval(function() { 
    xajax_updateLoader(); 
}, 100); 

Один документ готов. Выполнение должно прекратиться.

+0

Есть ли конкретная причина, почему вы не используете '$ (документ) .ready'? – Johan

+0

Я не хочу выполнять код, как только документ будет готов, но продолжайте выполнять его до того, как документ будет готов – Alucard

ответ

1
var interval = setInterval(function() { ... }, 100); 
window.onload = function() { clearInterval(interval); } 

Это освобождает интервал от события onload.

1
var handle = setInterval(function() { 
    xajax_updateLoader(); 
    if (jQuery.isReady) { 
     //DOM is ready 
     clearInterval(handle); 
    } 
}, 100); 
1

Как это

domReady = false; 

var ctx = setInterval(function() { 
if (domReady === true) 
{ 
    clearInterval(ctx); 
} 
// your code here 
}, 100); 

if (typeof document.addEventListener !== 'undefined') // chrome/safari/firefox 
{ 
document.addEventListener("DOMContentLoaded", function(){ 
    domReady = true; 
    document.removeEventListener('DOMContentLoaded'); 
}, false); 
} 
else if (typeof document.attachEvent !== 'undefined') // IE 
{ 
document.attachEvent("onreadystatechange", function(){ 
    if (document.readyState === "complete") 
    { 
    document.detachEvent("onreadystatechange", arguments.callee); 
    domReady = true; 
    } 
}); 
} 
1

Использование clearInterval()

var interval = setInterval(function() { ... }, 100); 
$(document).ready(function(){ 
clearInterval(interval); 
}); 
2
var updateInterval; 
$(function(){ 
updateInterval= setInterval(function() { 
    xajax_updateLoader(); 
}, 100); 
}); 

$(windows).load(function(){ 
    clearInterval(updateInterval) 
}); 
Смежные вопросы