javascript - 在 OpenCart 中自动隐藏警报消息

标签 javascript jquery dom opencart2.x opencart2.3

我正在尝试自动隐藏OpenCart version 2.3.0.2中的ajax警报消息但我无法让它正常工作。我在模板的头文件中添加了下面的代码,这样我就可以在 5 秒后隐藏 .alert div:

setTimeout(function() {
    $(".alert").hide("slide", { direction: "right" }, 150);
}, 5000); 

它工作正常,但仅适用于触发的第一个警报,我必须重新加载/刷新页面才能使隐藏脚本再次工作!

我做错了什么?

最佳答案

tl;dr 您必须迭代 $(".alert") 返回的数组。

See this CodePen

此外,您不应该在 DOM 加载后使用 setTimeout 来触发回调; jQuery 有 $(document).ready() 来实现这一点。

JavaScript

$(document).ready(function(){
  $(".alert").each(function(){
    $(this).hide();
  })
});

关于javascript - 在 OpenCart 中自动隐藏警报消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42670189/

相关文章:

javascript - 大型应用的回流/布局性能

jquery - 如何在 jquery 中将 div 元素的可见属性设置为 true 或 false?

javascript - 标题来源不允许

javascript - eslint:禁用警告 - `defined but never used` 用于特定功能?

jquery - 我应该如何知道jquery中对象的返回类型?

javascript - 简单的 cometd 应用程序 "org is not defined"

javascript - 列表标签的 Value 属性在 IE 中 chop 2147483647 以上的任何内容

javascript - 为什么我的 JS 在设置为 'onLoad' 时不工作,但在设置为 'No wrap - in <body>' 时工作?

javascript - GTM数据层eventCallback函数

javascript - 继续向左拉师