我正在运行一个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);
});
}
答案 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()