使用'live'删除类的jQuery UI效果和/或setInterval

时间:2012-04-14 17:13:10

标签: jquery-ui jquery

我有一个通知设置,可以通过AJAX调用从数据库中逐步检索通知。

如果通知是新的,那么我想在包含通知的元素中添加jQuery UI“突出显示”效果。

对于不同的通知类型,有很多这些。

在加载通知时,包含通知数据的元素在需要时提供新类“flashAlert”。然后触发以下功能。

function startAlert() { // this function makes alerts flash
    setInterval(function () {
       $('.flashAlert').effect("highlight", {}, 2500);
    }, 2500);    
};

但是,如果从元素中删除类“flashAlert”(由“清除通知”功能完成),则仍然会应用效果。

我知道我可以在“清除通知”功能中调用clearInterval,但是我必须为每个通知设置一个单独的Interval函数,而不是像这样的单个函数。

我已经在这里看到了其他问题,用户发现难以对jQuery添加的元素进行处理,但没有关于删除效果的内容!

重新加载页面会清除它,但这不是我想要的!

1 个答案:

答案 0 :(得分:0)

function startAlert(){
    $('.flashAlert').effect("highlight", {}, 2500, startAlert);
}

如果您希望它在明确的通知中停止,只需执行以下操作:

$('.flashAlert').removeClass("flashalert").stop();