执行Js代码,直到文档准备就绪

时间:2013-09-30 09:19:50

标签: javascript jquery dom document setinterval

在文档准备好之前,最好的方法是继续执行JS代码(每个100毫秒,以m为单位)。

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

一份文件准备就绪。执行应该停止。

5 个答案:

答案 0 :(得分:2)

var updateInterval;
$(function(){
 updateInterval= setInterval(function() { 
   xajax_updateLoader();
}, 100);
});

$(windows).load(function(){
    clearInterval(updateInterval)
});

答案 1 :(得分:1)

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

这会清除onload事件的间隔。

答案 2 :(得分:1)

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

答案 3 :(得分: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;
  }
 });
}

答案 4 :(得分:1)

使用clearInterval()

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