jquery - setinterval 重新加载 php 页面,除非单击 "edit"按钮

标签 jquery

现在我在 jquery 中有一个间隔函数,每隔几秒重新加载一个页面:

setInterval(function () {
$('div#tab2').load('morefour.php?doc=' + encodeURIComponent(ktitle));
}, 3000);
}); 

我现在真正想做的是如果单击此输入:

<input type='image' class='edit' src='edit.png'>

停止setinterval函数。

最佳答案

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 的第二个参数)。

关于jquery - setinterval 重新加载 php 页面,除非单击 "edit"按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7053645/

相关文章:

javascript - JS 或 jQuery - 获取下拉列表的键和值

javascript - 如何使用 Jquery 获取选中的复选框值并将其存储为多维数组?

javascript - 寻找像 stackoverflow 这样的鼠标悬停功能

javascript - 刷新时加载一秒钟的所有 Jquery 选项卡的内容

javascript - 侧边栏选项卡和滑动条在切换时不同步

javascript - 使用 jquery 从 SVG 中删除所有类

Jquery 数据表隐藏列在调用另一个脚本后显示。如何永久隐藏指定的列?

javascript - 通过 JavaScript AJAX GET 将参数传递给 MVC Controller

javascript - 从 contenteditable div 获取纯文本

javascript - 如何从给定数字生成数字?