【发布时间】:2016-03-02 03:33:40
【问题描述】:
我正在尝试实现通知样式的 JQuery 函数。这是我目前所拥有的
function notify(message, type, autohide, delay) {
message = message;
type = type || "";
autohide = autohide || false;
delay = delay || 0;
$('#notification-container').append("<div class='notice " + type + "'>" + message + "<div class='close-container'><span class='glyphicon glyphicon-remove'></span></div></div>");
};
调用此函数会正确添加通知,但我无法在“延迟”一段时间后删除该特定元素而不删除所有其他通知。我已经搜索但只找到了基于#id 的解决方案或基于类的解决方案。我不想在每个新通知上都添加 id,如果我通过 .notice 将其删除,所有通知将同时过期。我得到的最接近的是使用
if (autohide) {
setTimeout(function () {
$('#notification-container .notice:last-child').remove();
}, delay);
}
但我相信你们所有人都可以看出这是有缺陷的。任何帮助或建议将不胜感激。
【问题讨论】:
-
我看不出你的代码有什么问题。您是否在控制台中看到任何错误?主代码中的 if 语句在哪里?
-
@ÁlvaroTouzón 我已经看过这个问题,但它会根据班级将其删除。
-
那改jquery css查询不行吗?
-
@RajaprabhuAravindasamy 我最后一个代码块的问题是,如果我快速添加多个通知,它只会删除最新的通知而不是最旧的通知。
标签: javascript jquery algorithm notifications