הפוסט הבא מיועד למפתחים שיש להם נסיון בסיסי עם JS, אבל גם המעצבים מבינכם יוכלו להפיק ממנו תועלת, ולדעת אלו כלים עומדים בפנינו בעיצוב האתר.
מה שנלמד לעשות הוא אנימציה של אובייקט על נתיב (path), ולצורך ההדגמה נשתמש באנימציה הזאת שעשינו לאחרונה לאתר bestie.co.li. הדוגמא הזאת היא מימוש מאוד פשוט של הפיצ'ר הזה, אפשר לשכלל אותה ולייצר בעזרתה storytelling מלא שגם מגיב לגלילת העמוד וכו'. אבל כאמור – נתחיל בדוגמא הפשוטה, שמופיעה פה בהקלטת המסך מן האתר:
אני אסביר גם על הקוד עצמו, וגם על עבודת ההכנה שנעשה לפני, שהיא חלק סופר חשוב מהתליך.
חלק א' – עושים קצת עבודת הכנה
נתחיל בבנית האיזור שבו תמוקם האנימציה בHTML. לאחר מכן נחזור אל הפיגמה ונצייר את הנתיב שעליו תתרחש האנינציה שלנו ונקרא לשכבה שלו בשם path. נמקם את הכדור שלנו בתחילת הנתיב ונקרא לשכבה שתלו ball. ניצור group מהנתיב ומהכדור יחד ונקרא לו באיזה שם שנחפוץ. בסיום השלב הזה ככה זה אומר להראות:
עכשיו אנחנו צריכים לייצא את הgroup הזה כSVG, אבל בצורה כזו ששמות השכבות שנתנו לאובייקטים ייוצאו אף הם. כדי לאפשר את זה נלחץ על ה3 נקודות ליד פורמט הקובץ ונסמן את האפשרות השניה (include "ID" attribute):
עכשיו, אם נפתח את הקובץ שיצאנו בעורך טקסט, נראה משהו כזה:
את הקוד הזה נעתיק ונדביק אותו ממש בתוך קוד הHTML שלנו, באיזור שבו נרצה שהאנימציה תתרחש, ונשתמש בCSS על מנת למקם אותו כך שהpath יהיה בדיוק במקום שאנחו רוצים אותו.
ככה זה נראה בחלון הinspect של כרום לאחר הכנסת הSVG לקוד ומיקומו במקום המתאים:
חלק ב' – הכירו את GSAP
טוב אז למי שלא מכיר את GSAP – אם אתם חובבי אנימציה – תתכוננו להתאהב. GSAP היא ספרית JavaScript שפותח עולם שלם של אפשרויות לאנימציה בקוד. היא התחילה אי שם בימי הFlash העליזים (הקשישים שביננו בטוח זוכרים), והתבססה בזמנו על שפת התכנות ActionScript. עם מותו של הפלאש עשתה הספריה הסבה מהירה ומוצלחת לJS.
ה-Core של GSAP מגיע עם מבחר אפשרויות של אנימציה ויצירת טיימליינים בקוד, כשבנוסף קיימים עוד כמה פלאגאינים שמרחיבים את הפונקציונאליות של הספריה, חלקם חינמיים וחלקם בתשלום.
בעמוד הזה תוכלו למצוא את האפשרויות להתקנת הקבצים אצלכם – על ידי הורדה ישירה, שימוש בCDN או התקנה עם npm. אנחנו נשתמש בCore ובפלאגאין חינמי שנקרא MotionPath, אז שימו לב שאתם משתמשים רק בקבצים האלה כדי להמנע מטעינת קוד מיותר.
נתחיל ביצירת הטיימליין. טיימליין בGSAP הוא קונטיינר שמאפשר ליצור אנימציה אחת המורכבת ממספר אנימציות,בדיוק כמו טיימליין בתוכנות עריכת וידאו או אנימציה. (הסבר מורחב על timeline יש כאן)
השתמשנו במתודה של GSAP שנקראת to, שמטרתה בעצם להזיז אלמנט ממקום אחד למקום שני, תוך שימוש בערכים שנעביר לה. הערך הראשון שנעביר הוא הID של האלמנט שאותו אנחנו רוצה להניע – "ball#".
הערך השני הוא אובייקט שמכיל את הduration – משך האנימציה, לאחר מכן סוג הease, ואובייקט נוסף בשם motionPath שמקשר בעצם בין הכדור לבין הנתיב:
path – מחבר את תחילת האנימציה וסופה לנקודות ההתחלה והסוף של הנתיב
align – אומר לכדור לעבור דרך הנתיב מנקודת ההתחלה ונקודת הסיום
alignOrigin – אומר לכדור איך להתיישר אל הpath על נקודת הx ונקודת הy. שימוש בקוד הזה למשל alignOrigin: [0.5, 0.5] יגרום לכדור לנוע כשהנתיב עובר במרכז הכדור.
כמובן שזו רק ההתחלה, ועומדות לרשותכם כל האפשרויות שיש לGSAP להציע, כמו easing, הוספת עוד אנימציה לטיים ליין (למשל הופעה של הכדור משקיפות לנראות והעלמה שלו) וכו'. באתר של bestie למשל חתכנו את הpath לכמה תתי נתיבים על מנת שנוכל לשחק עם הease בכל אחד מהמקטעים לקבל אנימציה טבעית יותר.
אהבתם? רוצים גם? דברו איתנו
תפריט נגישות פתווח
תפריט נגישות
הצהרת נגישות
אנחנו בW4 מחויבים לספק באתר תוכן נגיש לקהל הרחב ככל שניתן, ללא כל קשר לטכנולוגיה בה נבנה האתר. אנחנו פועלים לעדכן ולהטמיע את כללי הנגישות ככל שניתן בהתאם לעקרונות תקן הנגישות. האתר עומד בהתאם לדרישות הנגישות לרמה 2 (AA) של ארגון W3C . בקישורים תמצאו פירוט התנאים בהם עומד האתרבעברית ובאנגלית. בנוסף האתר נבנה לפי התקן של W3C ל- CSS ו- HTML האתר מותאם לתצוגה בדפדפנים המובילים.
מבנה האתר והתאמות נגישות
תכני האתר כתובים באופן מסודר והיררכי. במידת הצורך קיימים הסברים לצד התוכן.
לכל התמונות באתר יש הסבר טקסטואלי חלופי (alt).
איזורי הפוקוס מסומנים באופן ברור.
חוקי ARIA
באתר זה הוטמעו חוקי ARIA העוזרים לפרש את תוכן האתר בצורה מדויקת וטובה יותר, עבור קuראי מסך, והוטמעו הודעות והתראות יחודיות לפריטים אנטראקטיבים שונים (פופ-אפים טפסים וכו’)
תפריט נגישות
באתר קיים תפריט נגישות ייעודי. ניתן לפתוח אותו בלחיצה על האייקון . דרך התפריט ניתן לעצור אנימציות, להגדיל קונטרסט, להדגיש קישורים ולשנות את גודל הפונט.
נתקלתם בבעיה? ספרו לנו!
באתר זה הושקעו מאמצים רבים על מנת להפוך אותו לנגיש ושימושי עבור כלל הגולשים. אנחנו משתדלים לשמור ולתחזק את האתר ברמה הטובה ביותר. במידה ומצאתם ו/או נתקלתם בקשיים בגלישה באתר, אל תהססו לדווח לנו לכתובת המייל: [email protected]. אנחנו נטפל בבעיה ונחזור אליכם בהקדם עם פרטים על טיפולה.