$(document).ready(function() {
function refreshbids() {
var element = $("#biddingdiv");
element.load("bids.php?id=<? echo $uid; ?>&init=1&auctionid=<? echo $auctionid; ?>&"+(new Date()).getTime());
}
refreshbids();
setInterval(refreshbids, 5000);
});
当我们离开该页面并返回它时,看起来bid.php的加载速度更快,即间隔缓存未被清除。 我们试过window.clearInterval(refreshbids);但它没有用。请帮忙。
我们应该在加载开始时清除间隔还是检查它是否不清楚然后清除它?
感谢
答案 0 :(得分:0)
这完全取决于你想做什么!在您显示的代码中,refreshbids()
首先(始终...)调用一次,然后将其设置为每隔5秒调用一次。这个非定时的第一次调用很可能是为什么当你“返回”页面时它说“加载速度更快”:此时将立即调用该函数。在这种情况下,调用clearInterval()
将无关紧要:任何类型的计时器都不会调用该函数(第一次......)。
仅供参考:因为页面加载后的状态可能“有点冒险,特定于浏览器”,您可能希望在页面中使用setTimeout()
调用已经准备好例如100毫秒来调用refreshbids()
的调用。然后,这个一次性子程序可以setInterval
引起后续的重复调用。 (而且,不,你永远不会clearInterval
...)“人类不明显的一秒钟”会使实际发生的在< / em>页面就绪,这可以避免很多计时问题。
答案 1 :(得分:0)
显然,我设法在$(document).ready(function(){:
之上解决了这个问题。for(i=0; i<9999; i++)
{
window.clearInterval(i);
}
现在我不确定setinterval的值是什么以及它在脚本快速性方面的效果如何,所以如果您有任何修复/更好的想法,请告诉我。