22-08-2008, 01:44
|
מנהל
|
|
חבר מתאריך: 26.07.08
הודעות: 6,473
|
|
לעשות pause לריצת קוד JS? (כמו setTimeout ...)
יש לי את המצב הבא:
פונקציית ה-JS ששמה setTimeout אצה רצה לה X זמן.
בזמן שהפונקציה פועלת, היא מאטה כל פעולה שמתרחשת בעמוד, אפילו לחיצה על לינק לוקחת הרבה יותר זמן (מאשר שהפונקציה setTimeout לא הייתה רצה כלל).
לפעמים אני צריך לחכות את כל ה-X זמן כדי לעבור לדף הבא אחרי שלחצתי על הלינק.
אני מניח שהדרך היחידה לפתור את הבעיה היא פשוט "לעשות pause" ל-setTimeout. אבל איך עושים את זה?
אני מחפש דרך כללית לפתרון הבעיה, ושלא אצטרך ספציפית לעצור את כל ה-setTimeout.
יש גם מקרה שאני רוצה להריץ קוד JS אחר, שגם הוא מופעל בעזרת setTimeout, אבל שוב אני צריך לעצור את ה-setTimeout'ים האחרים כדי שהוא יפעל כראוי.
לאחר שהקוד הנ"ל מסיים, אני צריך להמשיך את האחרים.
יש דרך קלה לעשות זאת?
הפתרון היחידי שחשבתי עליו הוא ליצור פונקציה שמאחדת את כל אירועי ה-setTimeout, ואז במקרה וארצה להפסיק את כל האירועים אבל להמשיך אחד אחר, פשוט אריץ פונקציה מסוימת כאשר נתונים לי כל אירועי ה-setTimeout.
בכל אופן זה נראה לי מסורבל מידי...
תודה מראש...
|