在几秒钟内隐藏喋喋不休的消息


Hide woocommerce-message in couple seconds

我试图用这段代码来隐藏woocommerce-message,但它不起作用。

  setTimeout(function() {
    $('.woocommerce-message').fadeOut('fast');
}, 5000); // <-- time in mseconds

您还有其他解决方案吗?我试图将此代码放入标头中.php并且我的模板具有自定义标头JavaScript代码的空间,但没有任何效果。

如果元素弹出并随机插入到DOM中,您可以使用这样的方法来删除它。

$(document).ready(function(){
  
   $(document).on('DOMNodeInserted', function(e) {
        if ($(e.target).is('.woocommerce-message')) {
           
           setTimeout(function() {
             $('.woocommerce-message').fadeOut('fast');
            alert("node fading"); 
           }, 5000);
        }
    });
   //object inserted after 2 seconds
   setTimeout(function(){
       $('<div class="woocommerce-message">Test node inserted </div>').appendTo('body');
        alert("node inserted");
     },2000);
});
   
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

这对

我有用。

    setTimeout(function() {
        $('.woocommerce-message').fadeOut('fast') 
    }, 5000);

如果您使用的是 wordpress,请尝试

    setTimeout(function() {
        jQuery('.woocommerce-message').fadeOut('fast') 
    }, 5000);

这个链接也可以帮助你: jQuery | 点击淡出和/或自动淡出

当我们使用$(e.target)时,它会显示错误。所以忽略了我添加了调整。

jQuery(document).on('DOMNodeInserted', '.woocommerce-error,.woocommerce-message', function(e) {
        setTimeout(function() {
            jQuery('.woocommerce-error,.woocommerce-message').fadeOut('fast');
        }, 6000);   
    });

祝你好运。