我有一个jQuery脚本,每秒运行一个函数与setinterval。但我想设置一个超时,所以半小时后,它杀死脚本。我该怎么做呢?谢谢:)
源代码:<script type="text/javascript" src="http://ajax.googleapis.com/ajax/
libs/jquery/1.3.0/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
setInterval(oneSecondFunction, 1000);
});
function oneSecondFunction() {
//var ID = $(this).attr("id");
var ID = '1';
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();
}
})
}
return false;
}
</script>
<style>
使用这个模式:
var timer = null;
$(function() {
timer = setInterval(oneSecondFunction, 1000);
setTimeout(function() { clearInterval(timer); }, 30*60*1000);
});
保存执行setInvterval
时创建的定时器,并在30分钟后清除间隔
即
var t = setInterval(oneSecondFunction, 1000);
setTimeout(function() { clearInterval(t); }, 30*60*1000);
你可以这样做:
<script type="text/javascript">
$(function() {
var interval= setInterval(oneSecondFunction, 1000);
setTimeout(function(){clearInterval(interval)}, 18000000); //half an hour
});
...
</script>
<style>