Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.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 jQuery-flashMessage关闭按钮_Javascript_Jquery_Flash Message - Fatal编程技术网

Javascript jQuery-flashMessage关闭按钮

Javascript jQuery-flashMessage关闭按钮,javascript,jquery,flash-message,Javascript,Jquery,Flash Message,简短问题: $(document).ready(function(){ $('.flash-notice .close').click(function(e){ $('.flash-notice').fadeOut(250); e.preventDefault(); }); $('.flash-notice').delay(3000,).fadeOut(1000); 当我点击Flash通知的.close元素时,什么也没发生。3秒钟

简短问题:

$(document).ready(function(){
    $('.flash-notice .close').click(function(e){
        $('.flash-notice').fadeOut(250);
        e.preventDefault();
    });
        $('.flash-notice').delay(3000,).fadeOut(1000);
当我点击Flash通知的.close元素时,什么也没发生。3秒钟后它就消失了。如果我再次显示它并再次单击.close,它就会工作

我想当盒子已经关上的时候,试图把它关上有点麻烦

我怎样才能解决这个问题

谢谢

        $('.flash-notice').delay(3000).fadeOut(1000);
        $('.flash-notice .close a').click(function(e){
            e.preventDefault();
            $('.flash-notice').stop().fadeOut(250);
        });

我忘记了stop()

jQuery使用特殊效果队列来存储动画和其他效果。每次创建新效果时,它都会放在队列的末尾。在您的情况下,效果将按以下顺序添加到队列中:

  • .delay(3000)
  • .fadeOut(1000)
  • .fadeOut(250)
  • 因此,
    .fadeOut(250)
    方法仅在前两个之后执行。问题的解决方案是在调用
    .fadeOut(250)
    之前清除效果队列。以下工作:

    $('.flash-notice .close').click(function(e){
        $('.flash-notice').stop().clearQueue().fadeOut(250);
        e.preventDefault();
    });
    $('.flash-notice').delay(3000).fadeOut(1000);
    

    .stop()
    终止当前运行的效果(
    .delay(3000)
    ),
    .clearQueue()
    从队列中删除所有尚未开始的效果。

    .delay(3000)
    如果没有该
    顺便说一句,您是在文档准备就绪时执行此操作的-->
    $('.flash notice')。delay(3000),.fadeOut(1000)点击时不显示?我的目标是,在页面加载时显示一个弹出窗口,如果有人点击按钮,则在3秒后或更早时间将其淡出