0

我有一个通知设置,它通过 AJAX 调用定期从数据库中检索通知。

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

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

随着通知的加载,包含通知数据的元素在需要时提供了一个新类“flashAlert”。然后触发下面的函数。

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

但是,如果从元素中删除了“flashAlert”类(通过“清除通知”功能完成),则该效果仍然有效。

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

我在这里看到了其他问题,用户发现很难对由 jQuery 添加的元素产生影响,但没有关于删除效果的问题!

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

4

1 回答 1

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

当您希望它在清晰的通知中停止时,只需执行以下操作:

$('.flashAlert').removeClass("flashalert").stop();
于 2012-04-14T17:22:28.133 回答