首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重复JS函数的最佳方法

重复JS函数的最佳方法
EN

Stack Overflow用户
提问于 2010-09-22 03:48:55
回答 4查看 321关注 0票数 0

有时调用这个函数太快,会创建多个元素,但由于它使用的ID对每个实例都不是唯一的,所以淡出和删除div的部分只适用于顶级元素,而不是所有元素。因此,我最终得到了一个不会淡出/删除的静态div标记。

我能想到的最好的办法就是简单地重复这个过程。我该怎么做,或者有没有更好的方法?

代码语言:javascript
复制
document.triggerNotification = function (type, message) {
    jQuery(document.body).append("<div class='push-notification push-"+type+"' id='notification'>"+message+"</div>");

    jQuery('#notification').delay(1500).fadeOut(1200, function () {
        jQuery('#notification').remove();
    });
}
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-09-22 03:58:55

只需缓存您创建的元素,不需要ids

代码语言:javascript
复制
function (type, message) {
    var el = $("<div class='push-notification push-"+type+"'>"+message+"</div>");
    jQuery(document.body).append(el);

    el.delay(1500).fadeOut(1200, function () {
       el.remove();
    });
}
票数 3
EN

Stack Overflow用户

发布于 2010-09-22 03:55:52

给他们唯一的ID怎么样?

代码语言:javascript
复制
var notificationCount=0;
document.triggerNotification = function (type, message) {
    notificationCount++;
    var notificationId="notification"+notificationCount;
    jQuery(document.body).append("<div class='push-notification push-"+type+"' id='"+notificationId+"'>"+message+"</div>");

    jQuery('#'+notificationId).delay(1500).fadeOut(1200, function () {
        jQuery('#'+notificationId).remove();
    });
}
票数 0
EN

Stack Overflow用户

发布于 2010-09-22 03:55:59

有几个选项:

  1. 通过追加一个不断增加的数字来使您的ID唯一(例如)。
  2. 使用一个新类作为您感兴趣的行的指示器,然后使用".notificationID"-style选择器附加fadeOut。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3763894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档