有时可能会调用该函数太快,并创建多个元素,但由于它使用的ID对每个实例都不是唯一的,因此淡出和移除div的部分仅适用于顶级元素,而不是全部。所以我最终得到了一个静态div标签,它不是淡入淡出。重复JS函数的最佳方法
我能想到的最好的事情就是简单地重复这个过程。我该怎么做,还是有更好的方法?
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();
});
}
这是最好的解决方案。我还会注意到,在这种情况下,setTimeout比延迟更合适。延迟更适合排队的fx,但由于您只会在元素上执行一个动画,setTimeout就足够了。 – Ender 2010-09-21 20:05:21