Devacron.com

setTimeout – Πως βαζουμε καθυστερηση σε μια function μεσω Javascript

Υπαρχουν φορες που μετα την εισοδο του επισκεπτη στο 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 κωδικας

JavascriptDelay

Exit mobile version