【发布时间】:2016-05-30 11:14:38
【问题描述】:
当我点击ul标签时,我有一个按钮将显示块。
我希望ul 中的数据会在 10 秒后自动刷新。数据来自我需要点击的 api。
当点击停止按钮时,数据不会被刷新。
function dummy(){
setTimeout("checkalerts()",10000);
}
function checkalerts() {
$.ajax({
method: "POST",
url: "/messages/get/"+contactid,
data: { since: since }
})
.done(function( msg1 ) {
var el = $('<li class="message right appeared">
<div class="avatar"><img src="'+url+'/service/getUserImage/'+msg1[i].userID +'/60"/></div>
<div class="text_wrapper">
<div class="text">'+msg1[i].message+'</div></div></li>');
$(".chat_window ul").append(el);
});
}
【问题讨论】:
-
所以你想停止超时?然后只需将 setTimeout 分配给一个变量,如果要清除它,请调用“clearTimeout(variable)”。检查w3schools.com/jsref/met_win_cleartimeout.asp。
-
只需将setTimeout的返回值赋值给一个变量,点击按钮时使用clearTimeout即可。
-
您可能想使用
setInterval而不是setTimeout。将其分配给变量并单击按钮后将其清除 -
是的,我想在点击时停止计时器并在点击开始时再次重新启动它,它将每 10 秒引用一次而不点击任何地方
-
如何清除区间值?
标签: javascript refresh