如何超时一个jquery脚本设置为每隔半小时运行一次



我有一个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>

最新更新