הנך נמצא: מדריך מתקדם / שיעור 3 / דף 2
 


המדריך של תאו ל- JavaScript
 


דפים בשיעור זה:
1: JavaScript מתקדם
2: כיצד לתזמן אירועים
3: לולאות תזמון – מהן?
4: לולאות מתזמנות – איך?
5: שעון JavaScript
6: קוצבי זמן עם משתנים
7: הבחנה בין דפדפנים
8: הבחנה בין דפדפנים
9: אוביקט ומתודת הזיהוי
10: אובייקט ההיסטוריה
11: שעור 3 - חזרה
|
|
|
|
|
|
|
|
|
|
|
|

שיעור 3

דף 2: כיצד לתזמן אירועים.

אם אתה קורא זאת, ולא התעלפת על המקלדת, תיבת אתראה - "OK! Exhale!" אכן קפצה שלוש שניות לאחר שלחצת על הכפתור, ואז הוכוונת שנית לעמוד זה לאחר שלחצת על "OK".

זה קל לתזמן אירועים ב-JavaScript. פקודות המפתח הן מתודות ה -()setTimeout ו -()clearTimeout. עם ()setTimeout, שפת JavaScript מוציאה לפועל פקודה מסוימת בזמן כלשהו בעתיד. ואם תשנה את דעתך, ()clearTimeout מבטלת את setTimeout.

הדוגמא הבאה הינה הפורמט הבסיסי של ה - setTimeout:

var the_timeout = setTimeout( "some javascript statement", some_number_of_milliseconds);

בדוגמא של "החזק את נשימתך" בעמוד הקודם, הפקודה הייתה:

var the_timeout = setTimeout("alertAndRedirect();",3000);

ישנם שלושה דברים חשובים שיש לציין לגבי פקודה זו: setTimeout חוזר כערך.

בפקודה זו, the_timeout הינו משתנה אשר עוקב אחר האירועים של setTimeout ספציפי זה. אם מתישהו תרצה לבטל את setTimeout ספציפי זה, אתה יכול להתייחס אליו ע"י שימוש במשתנה. נראה דוגמא לכך בהמשך. וכמובן, כמו עבור כל המשתנים, הוא אינו חייב להיקרא .the_timeout מצדו של JavaScript הוא יכול להיקרא "Frankenstein".

הפרמטר הראשון ל-setTimeout הוא מחרוזת אשר מכילה הוראת JavaScript. בדוגמא זו, הפרמטר הראשון ל- setTimeoutהוא המחרוזת: ";()alertAndRedirect".

alertAndRedirect היא רק פונקציה שכתבתי אשר מפעילה תיבת אתראה ומכוונת שנית לעמוד זה כאשר המשתמש לוחץ על "OK".

שים לב כי דברים אשר במרכאות הנם הוראת JavaScript שלמה, עם נקודה ופסיק (;) ושאר הדברים. אם תבצע רק הוראה זו, זה יקרא לפונקציית ה- alertAndRedirect. ה- setTimeout רק מתזמן כאת ההוראה להתבצע בזמן ספציפי.

אם תרצה לראות כיצד זה מתרחש, להלן – alertAndRedirect() function:

function alertAndRedirect()
{
  alert('ok! exhale!');
  window.location.replace("timing.htm");
}

הפרמטר השני של setTimeout מציין כמה אלפיות שניה יחלפו מעכשיו עד לביצוע הפרמטר הראשון.

ישנן 1,000 אלפיות שנייה בשנייה (כמה מפתיע?!). לכן, על מנת שמשהו יקרה בעוד שלוש שניות מעכשיו, הפרמטר השני צריך להיות 3,000 אלפיות שנייה.

ל-JavaScript נאמר ע"י setTimeout "קרא לפקודה זו x אלפיות שנייה מעכשיו". זכור זאת, ואתה מסודר. על מנת לוודא כי אתה יודע בדיוק מה קורה, הנה תרגיל קטן: המצא כפתור אשר יאמר לך מתי שלוש שניות, שש שניות ותשע שניות בדיוק עברו. כמו השורה הזו:

כאשר תצליח לעשות זאת, או תתייאש מלנסות, תציץ בפתרון שלי לתרגיל קוצב הזמן.

חזור לתחילת הדף

לדף הבא «--

 
       
       
   
 
 

עמוד ראשי
מדריך בסיסי
מדריך מתקדם
החלפת תמונות
גניבת קוד
מפת האתר