Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to hide flash message after few seconds?

In my application user can post challenge for other user. So after successful posting a challenge I am displaying one flash message for the same. But now I want to hide this message after some few seconds. So I wrote following code :

$(document).ready(function(){
    setTimeout(function() {
        $("#successMessage").hide('blind', {}, 500)
    }, 5000);
});

<div id="successMessage" style="text-align:center; width:100%">
    <FONT color="green">
        <%if flash[:alert]=="Your challenge is posted successfully."%> 
            <h4><%= flash[:alert] if flash[:alert].present? %>
        <%end%>
    </font>
</div>

But this code is not hiding the div "successMessage".

like image 807
sweety Avatar asked Jul 02 '15 05:07

sweety


2 Answers

You can use the delay jQuery API to achieve this.

$(document).ready(function(){
    $("#successMessage").delay(5000).slideUp(300);
});
like image 99
m Piroli Avatar answered Oct 20 '22 07:10

m Piroli


You can try :

setTimeout(function() {
    $('#successMessage').fadeOut('fast');
}, 30000); // <-- time in milliseconds

If you used this then your div will be hide after 30 sec.I also tried this one and it worked for me.

like image 26
Puja Avatar answered Oct 20 '22 07:10

Puja