I have the below global jQuery function stored, but on page load, I want to execute it after a 1000 delay. Is there something wrong with my syntax? I know the delay always goes before the function. It is not responding.
Global function:
function showpanel() { $(".navigation").hide(); $(".page").children(".panel").fadeIn(1000); ;}
Executing function:
parallax.about.onload=function(){ $('#about').delay(3000).showpanel(); };
A setTimeout is a native JavaScript function, which calls a function or executes a code snippet after a specified delay (in milliseconds). A setTimeout accepts a reference to a function as the first argument. Alert messages will pop up after 5 seconds automatically.
$(document).ready(function() { // place this within dom ready function function showpanel() { $(".navigation").hide(); $(".page").children(".panel").fadeIn(1000); } // use setTimeout() to execute setTimeout(showpanel, 1000) });
For more see here
I searched and found the solution in the following URL is better.
http://www.tutorialrepublic.com/faq/call-a-function-after-some-time-in-jquery.php
It worth to try.
It adds your given function to the queue of functions to be executed on the matched element which is currently this.
$(this).delay(1000).queue(function() { // your Code | Function here $(this).dequeue(); });
and then execute the next function on the queue for the matched element(s) which is currently this again.
Take a look at the command
We command the jQuery engine to add a function in internal queue and then after a specific amount of time we command it to call that function, BUT so far we never told it to dequeue it from engine. Right?! And then after every thing is done we are dequeue it from jQuery engine manually. I hope the explanation could help.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With