jquery-停止自动刷新onClick

时间:2011-05-17 14:05:27

标签: jquery

我正在运行一个jquery autorefresh代码,该代码很快就会在页面加载时生效。我将timeinterval设置为1秒。这意味着每1秒页面都会被刷新。 我想知道是否有任何方法可以停止自动刷新onclick?

代码

$(document).ready(function(){ 
    setTimeout("dummy()",500); 
});
function dummy(){ 
    setTimeout("checkalerts()",50); 
} 
function checkalerts() { 
    var url="includes/adda/hangouts/display_all_hangouts.php"; 
    $.post(url,function(data){ 
        $("#print").html(data).show(); 
        setTimeout("dummy()",1000); 
    }); 
}

2 个答案:

答案 0 :(得分:1)

在进一步审核您的代码后,我有点困惑。我不明白为什么你需要这么多的计时器。你基本上有一个定时器,每半秒调用一次dummy(),该函数每50毫秒创建一个新的定时器(每半秒一次,创建一个新的定时器)。

当你发布时,你每秒都会再次打电话给假人。这是一些严肃的WTF代码!


无论如何,更新的代码,这个代码片段应该可以工作

var timer;

$( document ).ready(function(){ 
    timer = setTimeout( "checkalerts()", 1000);
});

function checkalerts() 
{ 
    var url="includes/adda/hangouts/display_all_hangouts.php"; 

    $.post( url, function( data )
    { 
        $("#print").html(data).show();
    });
}

$( '#my-button' ).click( function()
{
    clearTimeout( timer );
});

答案 1 :(得分:0)

首次点击后使用preventDefault()