首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何每隔n秒运行一次jQuery load()请求?

如何每隔n秒运行一次jQuery load()请求?
EN

Stack Overflow用户
提问于 2013-02-25 16:51:58
回答 5查看 187关注 0票数 0

我有以下代码

代码语言:javascript
复制
$('document').ready(function() {
  reload(); 
}); 

function reload() {
  $('div#info').load('http://somesite.ru/script.php');
  setInterval(reload(), 10000);   
}

但是看起来reload()方法运行得太快了。火狐给我显示了一条消息,关于jquery.min.js is sems to忙。如何让部分页面每10秒刷新一次?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-02-25 16:53:13

您应该删除(),同时将setInterval函数放在reload函数的上下文之外。

代码语言:javascript
复制
function reload() {
   $('#info').load('http://somesite.ru/script.php');
}
$(document).ready(function() {
   setInterval(reload, 10000);   
}); 
票数 2
EN

Stack Overflow用户

发布于 2013-02-25 16:53:25

替换:

代码语言:javascript
复制
setInterval(reload(), 10000);   

通过以下方式:

代码语言:javascript
复制
setInterval(reload, 10000);   
票数 1
EN

Stack Overflow用户

发布于 2013-02-25 16:56:38

使用setTimeout()代替它,它比setInterval()更安全,性能也更好,可以满足您的需求。

代码语言:javascript
复制
var time= setTimeout(reload,1000);

检查完reload()方法中的某些条件后,再次调用该方法中的setTimeout

代码语言:javascript
复制
function reload()
{
 /// your logic
setTimeout(reload,1000);
}

只要您不想再重新加载,就使用上面的变量销毁间隔

代码语言:javascript
复制
clearTimout(time);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15063182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档