-1

我正在实施咆哮通知系统。我检查的大多数脚本都hide()在通知出现后使用一种方法。这使得 DOM 在超时后仍然存在于页面中。当我们有很多通知时,DOM 数量会不断增加。有人可以帮我处理这个脚本,这样我就可以真正删除 DOM 元素而不是设置一个display:none?

脚本:http: //iabot.net/demo/tinypop/tinypop-1.0.js

谢谢你。

4

2 回答 2

1

代替

// Hide the popup
hide: function() {
    fadeout.apply(this);
}

// Remove the popup
hide: function() {
    this.parentNode.removeChild(this);
}
于 2012-11-02T15:34:01.567 回答
0

我对这个特定的脚本库没有任何经验,但在我看来,您可以将底部原型块中的隐藏函数重写为此,这将从 DOM 中删除元素。

// Hide the popup
hide: function() {
    //fadeout.apply(this);
    this.parentNode.removeChild(this);
}

(您不能直接删除元素,根据这个有用的 SO 答案Remove element by id,因此您必须去其父级并要求删除其子级。)

显然这没有任何错误检查(它应该!)。

于 2012-11-02T15:38:59.913 回答