Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在OpenCart上自动隐藏警报消息_Javascript_Jquery_Dom_Opencart2.x_Opencart2.3 - Fatal编程技术网

Javascript 在OpenCart上自动隐藏警报消息

Javascript 在OpenCart上自动隐藏警报消息,javascript,jquery,dom,opencart2.x,opencart2.3,Javascript,Jquery,Dom,Opencart2.x,Opencart2.3,我试图在中自动隐藏ajax警报消息,但无法使其正常工作。我在模板的头文件中添加了以下代码,以便在5秒后隐藏.alert div: setTimeout(function() { $(".alert").hide("slide", { direction: "right" }, 150); }, 5000); 它工作正常,但仅适用于触发的第一个警报,我必须重新加载/刷新页面以使隐藏脚本再次工作 我做错了什么;dr您必须对$.alert返回的数组进行迭代 此外,在加载DOM后,不应使用s

我试图在中自动隐藏ajax警报消息,但无法使其正常工作。我在模板的头文件中添加了以下代码,以便在5秒后隐藏.alert div:

setTimeout(function() {
    $(".alert").hide("slide", { direction: "right" }, 150);
}, 5000); 
它工作正常,但仅适用于触发的第一个警报,我必须重新加载/刷新页面以使隐藏脚本再次工作

我做错了什么;dr您必须对$.alert返回的数组进行迭代

此外,在加载DOM后,不应使用setTimeout触发回调;jQuery已经准备好了$document.com

JavaScript


你应该使用$document.readyfunction{/*你的代码在这里*/};而不是设置超时。这将确保在DOM就绪时调用您的代码。同样,这仅适用于显示的第一条警报消息。例如,当您在购物车中添加产品时,会出现一条警告消息,提示您成功:您添加了产品bla bla bla bla。。。去购物车。消息将在5秒后隐藏。但在此之后,如果您在购物车中再次添加产品时没有首先重新加载页面,则警告消息将永远可见!同样,这仅适用于显示的第一条警报消息。例如,当您在购物车中添加产品时,会出现一条警告消息,提示您成功:您添加了产品bla bla bla bla。。。去购物车。消息将在5秒后隐藏。但在此之后,如果您在购物车中再次添加产品时没有首先重新加载页面,则警告消息将永远可见!那么,您需要将事件处理程序绑定到添加产品后引发的事件!我相信有一种方法可以在你的CMS中关闭这个选项。执行此操作或从添加产品代码中引发事件,并绑定事件处理程序以隐藏在模板文件中。
$(document).ready(function(){
  $(".alert").each(function(){
    $(this).hide();
  })
});