Ian*_*Ian 5 javascript ajax jquery setinterval clearinterval
所以我为每个帖子创建了一个间隔,问题是我加载了新帖子并删除了旧帖子,所以显然我想停止之前帖子的间隔.但是我似乎无法弄清楚如何做到这一点.有人可以向我解释如何正确地做这件事吗?我完全迷失了.
$(".post").each(function(){
myInterval = setInterval("postStats('"+$(this).attr('id')+"')", 500);
});
function postStats(pid) {
//do some stuff
}
$(".button").click(function(){
clearInterval(myInterval);
});
Run Code Online (Sandbox Code Playgroud)
您可以将间隔ID存储在数据属性中:
$(".post").each(function () {
var that = this;
var myInterval = setInterval(function () {
postStats(that.id);
}, 500);
$(this).data("i", myInterval);
});
Run Code Online (Sandbox Code Playgroud)
并清除每个特定的间隔,.post如下:
$(".button").click(function () {
// assuming the button is inside a post
clearInterval($(this).closest(".post").data("i"));
});
Run Code Online (Sandbox Code Playgroud)
和SiGanteng说的那样,你应该传递一个函数对象setInterval而不是一个字符串,它只能得到eval'd.
| 归档时间: |
|
| 查看次数: |
447 次 |
| 最近记录: |