现在我在jquery中有一个间隔函数,它每隔几秒重新加载一次页面:
setInterval(function () {
$('div#tab2').load('morefour.php?doc=' + encodeURIComponent(ktitle));
}, 3000);
});
我现在真正想要做的是点击此输入:
<input type='image' class='edit' src='edit.png'>
停止setinterval函数。
答案 0 :(得分:5)
setInterval
会返回一个可以与clearInterval
一起使用的句柄来取消它。句柄将是一个大于零的数字。
因此请保存setInterval
电话中的句柄:
var handle = setInterval(function () {
$('div#tab2').load('morefour.php?doc=' + encodeURIComponent(ktitle));
}, 3000);
...如果按下按钮,则使用它取消它:
$("input.edit").click(function() {
if (handle) {
clearInterval(handle);
handle = 0;
}
});
另请注意,在上面的第一个片段中,我已将区间参数(3000
)移动到应该的位置(正如Jared指出的那样,您将其作为load
的第二个参数,当然它应该是setInterval
)的第二个参数。
答案 1 :(得分:1)
您可以像here一样使用window.clearInterval()。
答案 2 :(得分:0)
您可以使用标记来执行此操作:
<script type="text/javascript">
var flag = true;
</script>
并将setInterval
语句更改为以下内容:
setInterval(function () {
if (flag) {
$('div#tab2').load('morefour.php?doc=' + encodeURIComponent(ktitle));
}
}, 3000);
并更改图片onclick
中的标记:
<input type='image' class='edit' src='edit.png' onclick="javascript:flag=false">