【问题标题】:How to make a div element fade away如何让 div 元素消失
【发布时间】:2015-06-03 19:36:51
【问题描述】:

我正在学习 Rails,并且正在使用 Rails 网络应用程序。它有一个“订购”按钮,当我点击它时,它会说:“感谢您订购”。这是使用闪光动作完成的。我希望消息在 5 秒后消失。我添加了这段代码:

$(document).ready(function() {
    $("#notice").fadeOut("slow");
});

此脚本位于views/layout 文件夹中,并链接到同一文件夹中的application.html.erb 文件。但是,它不起作用。我做错了什么,我该如何解决?

【问题讨论】:

  • 什么不工作,5秒后淡出?
  • 只有在消息出现后才触发fadeOut事件。使用您的代码,浏览器只会在页面加载后尝试淡出 #notice 元素。此外,它的方式是立即淡化元素,没有延迟。

标签: jquery html css ruby-on-rails


【解决方案1】:

你必须做几件事才能让它发生。这就是我要做的。

  1. 添加 divid 并将其隐藏。

    <div id="notice" style="display: none"> Thank you for your ordering </div>

  2. 添加脚本。

    $(document).ready(function note() {
        $("#notice").fadeIn().delay(5000).fadeOut();
    });
    
  3. onclick 函数添加到.erb 文件中。

    <%= link_to "Order", order_path, :onclick=>'function note()' %>

希望它会有所帮助。

附:您也可以跳过第 2 步,直接将脚本添加到 .erb 文件中。

<%=
  link_to "Order", order_path, :onclick=>'$("#notice").fadeIn().delay(5000).fadeOut();'
%>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-22
    • 2021-01-25
    • 2013-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-01
    相关资源
    最近更新 更多