0

在文档准备好之前,继续执行 JS 代码(在 m 情况下每 100 毫秒)的最佳方法是什么。

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

一份文件准备好了。执行应该停止。

4

5 回答 5

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

$(windows).load(function(){
    clearInterval(updateInterval)
});
于 2013-09-30T09:28:05.220 回答
1
var interval = setInterval(function() { ... }, 100);
window.onload = function() { clearInterval(interval); }

这将清除 onload 事件的时间间隔。

于 2013-09-30T09:23:28.697 回答
1
var handle = setInterval(function() { 
   xajax_updateLoader();
   if (jQuery.isReady) {
       //DOM is ready
       clearInterval(handle);
   }
}, 100);
于 2013-09-30T09:23:37.537 回答
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;
  }
 });
}
于 2013-09-30T09:24:03.050 回答
1

使用clearInterval()

var interval = setInterval(function() { ... }, 100);
$(document).ready(function(){
 clearInterval(interval);
});
于 2013-09-30T09:24:58.433 回答