gpt4 book ai didi

javascript - 清除一个超时,开始另一个

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:53:11 25 4
gpt4 key购买 nike

我正在使用 ajax/json 自动刷新网站上的内容。使用 jkey,我触发了对文档的一些发布,在此操作期间,我想取消正在运行的原始 setTimeout(在 2 分钟时“重新加载”)- 然后再次触发整个功能“内容”以在 5 秒后重新开始。但是,我似乎无法正确停止“重新加载”,也没有在给定秒数后调用“内容”。任何人都可以发现错误吗?

 <script>
$(function content(){
function reloading(){
$.ajax({
url: 'api.php',
data: "",
dataType: 'json',
success: function(data)
{
var id = data[0];
_id = id;
var vname = data[1];
var message = data[2];
var timestamp = data[3];
var field1 = data[4];
_field1 = field1;
var val2 = parseInt(field1, 10) ;
_val2 = val2;
$('#output').hide().html( message ).fadeIn("slow");
$('#username').hide().html( vname +":" ).fadeIn("slow");
setTimeout(reloading,120000);
}
});
}
reloading();
});

$(document).jkey('a',function() {
$.post("update.php", { "id": _id} )
$('#output').hide().html( "<i>thx" ).fadeIn("slow");
$('#username').fadeOut("fast");
$('#valg1').fadeOut("fast");
$('#valg2').fadeOut("fast");
clearTimeout(reloading);
setTimeout(content,5000);
});
</script>

最佳答案

clearTimeout 应该获得由 setTimeout 返回的唯一“ key ”。所以在设置的时候,将返回值赋值给全局变量:

window["reload_timer"] = setTimeout(reloading,120000);

然后有这个:

clearTimeout(window["reload_timer"]);

关于javascript - 清除一个超时,开始另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7874657/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com