
הטקסט המלא של הדקות הראשונות בהרצאה «Images» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
הדבר הבא שאנחנו הולכים לראות בג'אווה סקריפט זה טעינה מוקדמת של תמונות. כשאנחנו עובדים עם תמונות יכול להיות שתמונה שאנחנו רוצים להציג היא בעצם יכולה להיות מאוד מאוד גדולה או שאנחנו יכולים להציג אותה כלינק מאתר אחר.
כאשר זה קורה והמשתמש גולש לדף שלנו אז יכול להיות שהתמונה היא פשוט ייקח לה המון זמן להיטען בגלל שהיא פשוט גדולה או בגלל שהיא נמצאת באיזשהו אתר אחר שלוקח זמן להוריד אותה ממנו.
בנוסף יכול להיות שאנחנו רוצים לבצע איזושהי פעולת אנימציה ולהחליף תמונות ברצף במידה ויש לנו דבר כזה עדיף שאנחנו נטען לפני זה את התמונות על ידי java script בכדי שהדפדפן ישמור אותם בזיכרון ואז כשהוא יצטרך להציג אותם הוא לא יבזבז זמן בללכת ולטעון אותם כי הם כבר יהיו לו בזיכרון אז אם אנחנו רק רוצים להציג תמונה אז יש לנו את התגית IMG של html src זה מאפיין יותר נכון אטריביוט
שקובע מאיפה להפיג את התמונה ואלט ומאפיין שקובע מה יוצג בתמונה במידה והיא לא קיימת או עד שהיא נטענת. אז בואו נציג תמונה שהיא יחסית גדולה והיא נמצאת באיזשהו אתר אחר.
לצורך כך יצרתי בטולבוקס את התמונה עצמה כקישור, בואו נמחק את הגרשיים האלה ונגרור את מה שיש בטולבוקס לכאן. אגב, איך ניתן להגדיר את הדבר הזה בתוך הטולבוקס?
אז למעשה זה מאוד פשוט, מה שאפשר לעשות זה פשוט לכתוב כל קוד שאנחנו רוצים לדוגמה אם היינו רוצים לכתוב איזושהי לולאה היינו יכולים לכתוב איזשהו קטע קוד לסמן אותו ופשוט לגרור אותו לתוך הטולבוקס ברגע שאני מסמן וגורר אותו לתוך הטולבוקס אז פשוט מאוד הוויז'ל סטודיו שומרת לי אותו בתוך הטולבוקס ואם בעתיד אני רוצה אותו אז אני פשוט יכול לתפוס אותו ולגרור אותו לאן שאני רוצה ויש לי את קטע הקוד הזה.
אז לפני זה שמרתי את הלינק הזה לתמונה. בואו נמחק את הלולה שרשמנו כאן מהטולבוקס ונסגור כרגע את הטולבוקס. שמרתי תמונה בתגית IMG רגילה לחלוטין.
בואו ניתן לה רק רוחב של 100%. אם כעת אנחנו נגלוש לדף, אז בגלל שלא טענו את התמונה הזאת לפני זה, אז אנחנו הולכים לראות שלוקח טיפה זמן לתמונה להיטען. היא הולכת להיטען בשלבים ואז זה בעצם חוויית גלישה פחות נעימה למשתמש שהוא מתחיל לראות את התמונה שלב אחרי שלב.
בואו נגלוש לדף ואנחנו מתחילים לראות את הדף נטען שלב אחרי שלב והתמונה מתחילה להיטען תוך כדי הטעינה של הדף עד שבעצם היא מגיעה למצב שהיא נטענה לגמרי.
אוקיי אז איך אנחנו יכולים טיפה לייעל את התהליך הזה אז למעשה אם אנחנו רוצים שהתמונה תיטען ממש בהתחלה של הדף כלומר המשתמש איכשהו גולש הוא רואה איזושהי תמונת רקע די אין לנו כל כך ברירה מפני שממש בהתחלה אנחנו רוצים לטעון את התמונה.
אבל אם אנחנו רוצים להציג את התמונה באירוע מסוים, זאת אומרת שרק כשהמשתמש לוחץ על לחצן או מזיז את העכבר מאיפשהו, רק אז אנחנו רוצים לטעון את התמונה, כאן משהו אחר יכול לעזור לנו.
בואו קודם כל ננקה את הזיכרון של הדפדפן בכדי שהדפדפן ימחק כל פעם מחדש את התמונה הזאת וזה ידמה מצב שבו הלקוח פעם ראשונה גולש לאתר שלנו.
בואו נסגור את הדפדפן, וכעת בואו נציג את התמונה רק בלחיצה על איזשהו לחצן. אז נבנה פונקציה, נקרא לה showImage ופשוט נגיע לתגית של התמונה, ניתן לה ID, myImage, נלך על ידי document.getElementByID שיקבל
את myImage ואז נגיע למאפיין src שלה ונכניס לתוכו את המחרוזת הזאת של ה source של התמונה. אז בעצם מה שעשינו כאן, ורק כאשר הפונקציה תופעל ואנחנו הולכים להפעיל אותה באירוע, רק אז אני רוצה לטעון את התמונה.
אז כעת בואו נוריד את ה source הזה,