Υπαρχουν φορες που μετα την εισοδο του επισκεπτη στο site σας και επειτα απο ενα συγκεκριμενο χρονικο διαστημα θελετε να εκτελεστει μια λειτουργια. Παραδειγματος χαρην να εμφανιστει ενα προειδοποιητικο μυνημα ή μια διαφημιση. Αυτο μπορουμε να το επιτυχουμε με την χρηση της μεθοδου setTimeout() η οποια ειναι ενα Timing Event της Javascript.
H setTimeout παιρνει δυο παραμετρους: A. μια function και Β. τον χρονο της καθυστερησης σε millisecond.
setTimeout(“function“,milliseconds);
Ας δουμε μερικα παραδειγματα για το πως να εμφανισουμε ενα alert μετα απο καθυστερηση 5 δευτερολεπτων.
Ο πρωτος ειναι να ενεργοποιειται μεσω του onload που μπορουμε να βαλουμε πχ στο tag. Δηλαδη καπως ετσι:
<html> <head> <script type="text/javascript"> function Msg() {var time=setTimeout("msgbox()",5000);} function msgbox() {alert("Hello");} </script> </head> <body onload="Msg()"> </body> </html>
Επισης μπορουμε αν θελουμε να ενεργοποιειτε μεσω ενος click σε καποιο button
<html> <head> <script type="text/javascript"> function Msg() {var time=setTimeout("msgbox()",5000);} function msgbox() {alert("Hello");} </script> </head> <body> <form> <input type="button" value="alert me!" onClick="Msg()" /> </form> </body> </html>
Διαφορετικα ο ποιο σωστος τροπος κατα τη γνωμη μου ειναι μεσω Jquery και αφου εχει τελειωσει το φορτωμα της σελιδας
<html> <head> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script type="text/javascript"> function msgbox() {alert("Hello");} $(document).ready(function() {setTimeout('msgbox()', 5000);}); </script> </head> <body> </body> </html>
Στο παρακατω αρχειο υπαρχει ο demo κωδικας