2015-06-03 46 views
2

我正在學習Rails,並且正在使用Rails Web應用程序。它有一個「訂購」按鈕,當我點擊它時,它說:「感謝您訂購」。它使用Flash動作完成。我希望消息在5秒後消失。我將此代碼:如何使div元素消失

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

這個腳本的意見/佈局文件夾中,並鏈接到同一個文件夾中的文件application.html.erb。但是,它不起作用。我做錯了什麼,我該如何解決它?

+2

http://stackoverflow.com/questions/15686598/jquery-delay-before-fadeout – AmmarCSE

+0

什麼是不工作,5秒後淡出? – AmmarCSE

+2

只有在消息出現後才應觸發fadeOut事件。使用你的代碼,只要頁面加載完畢,瀏覽器就會嘗試淡出#notice元素。此外,它的方式會立即淡化元素,而不會延遲。 – lucasnadalutti

回答

3

那麼你必須做幾件事才能使它發生。這是我會做的。

  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()' %>

希望這會有所幫助。

P.S.您也可以跳過第2步並將該腳本直接添加到.erb文件中。

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