【问题标题】:change the class of div after fadeOut has been executed on the same div在同一个div上执行fadeOut后更改div的类
【发布时间】:2014-08-06 18:22:41
【问题描述】:

我有一个使用类设置为不显示的 div。

现在,当单击按钮时,我想让 div 可见 5 秒并使其消失。

我喜欢这个

$("#errorMessage").removeClass("hide").delay(5000).fadeOut("slow", function () {
                $("#errorMessage").addClass("hide");
            });

div 可见 5 秒,然后将其隐藏。当我使用浏览器检查器检查 div 时,div 本身具有“隐藏”类

没有页面加载发生。因此,当我再次单击该按钮时,什么也没有发生。

谁能告诉我为什么?

谢谢

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    我的假设是因为元素有一个内联的display: none 集合(fadeOut() 可能导致它)所以在删除hide 类后通过调用show() 使其可见

    $("#errorMessage").removeClass("hide").show().delay(5000).fadeOut("slow", function () {
        $("#errorMessage").addClass("hide");
    });
    

    演示:Fiddleproblem(第一次点击后不起作用)

    【讨论】:

      猜你喜欢
      • 2023-03-14
      • 1970-01-01
      • 2012-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多