抱歉,我有点像菜鸟我只是想知道我是如何每秒运行这个javascript的?
源代码:
<script type="text/javascript">
$(function() {
//More Button
$('.more').live("click",function() {
var ID = $(this).attr("id");
if(ID) {
$("#more"+ID).html('<img src="moreajax.gif" />');
$.ajax({
type: "POST",
url: "ajax_more.php",
data: "lastmsg="+ ID,
cache: false,
success: function(html){
$("ol#updates").prepend(html);
$("#more"+ID).remove();
}
});
} else {
$(".morebox").html('no posts to display');
}
return false;
});
});
</script>
答案 0 :(得分:64)
使用setInterval()每隔x毫秒运行一段代码。
您可以在名为runFunction
的函数中每秒包装您想要运行的代码。
所以它会是:
var t=setInterval(runFunction,1000);
要停止它,你可以运行:
clearInterval(t);
答案 1 :(得分:6)
使用setInterval
:
$(function(){
setInterval(oneSecondFunction, 1000);
});
function oneSecondFunction() {
// stuff you want to do every second
}
setTimeout
与setInterval
之间的区别为an article。两者都将提供您需要的功能,它们只需要不同的实现。
答案 2 :(得分:3)
您可以使用setTimeout运行一次函数/命令,或使用setInterval以指定的时间间隔运行函数/命令。
var a = setTimeout("alert('run just one time')",500);
var b = setInterval("alert('run each 3 seconds')",3000);
//To abort the interval you can use this:
clearInterval(b);
答案 3 :(得分:0)
window.setTimeout(func,1000);
这将在1000毫秒后运行func。因此,在func结束时,您可以再次调用window.setTimeout进入1秒的循环。您只需要定义终止条件。
答案 4 :(得分:0)
您可以使用setInterval
:
var timer = setInterval( myFunction, 1000);
只需将您的函数声明为myFunction或其他名称,然后不要将其绑定到$('.more')
的直播活动。
答案 5 :(得分:0)
使用setInterval(func, delay)每func
毫秒运行delay
。
setTimeout()
在delay
毫秒后运行您的函数一次 - 它不会重复运行它。一个常见的策略是使用setTimeout运行代码并在代码末尾再次调用setTimeout。