שיפורים באנימציות באינטרנט ב-Chrome 50

אלכס דנילו

Web Animations API, שנשלח לראשונה ב-Chrome 36, מספק שליטה נוחה באמצעות JavaScript באנימציות בדפדפן, ומוטמע גם ב-Gecko וב-WebKit.

ב-Chrome 50 השקנו שינויים כדי לשפר את יכולת הפעולה ההדדית עם דפדפנים אחרים ולהתאים יותר למפרט. השינויים הבאים:

  • ביטול אירועים
  • Animation.id
  • שינוי מצב ל-method pause()
  • הוצאה משימוש של שמות מקווקוים כמפתחות בתמונות מפתח

בגרסה 51 של Chrome, חלק מהשינויים האלה הושלמו:

  • הסרת שמות מקווקוים כמפתחות בתמונות מפתח

ביטול אירועים

ממשק האנימציה כולל שיטה לביטול אנימציה, שנקראת cancel() בצורה מצחיקה למדי. Chrome 50 מטמיע את ההפעלה של אירוע הביטול כשהשיטה נקראת בהתאם למפרט, ומפעיל את הטיפול באירועים באמצעות המאפיין oncancel אם הוא הופעל.

תמיכה עבור Animation.id

כשיוצרים אנימציה באמצעות element.animate(), אפשר להעביר מספר מאפיינים. לדוגמה, לפניכם דוגמה להמחשת השקיפות של אובייקט:

element.animate([ { opacity: 1 }, { opacity: 0 } ], 500);

אם מציינים את המאפיין id, הוא יוגדר באובייקט האנימציה שיוחזר, והרכיב הזה יכול לעזור בניפוי באגים בתוכן כשיש הרבה אובייקטים של אנימציה שצריך לטפל בהם. הנה דוגמה לאופן שבו מציינים id לאנימציה שיוצרים:

element.animate([{opacity: 1}, {opacity: 0}], {duration: 500, id: "foo"});

שינוי מצב בשיטת pause()

משתמשים ב-method pause() כדי להשהות אנימציה באמצע התהליך. אם בודקים את מצב האנימציה באמצעות המאפיין playState, צריך להגדיר אותו לערך paused אחרי הקריאה ל-method paused(). בגרסאות Chrome שקודמות לגרסה 50, המאפיין playState יציין שidle אם האנימציה עדיין לא התחילה, אבל עכשיו הוא משקף את המצב הנכון, שהוא paused.

הסרת שמות מקווקוים כמפתחות בתמונות מפתח

כדי לשמור על תאימות למפרט ולהטמעות נוספות, מערכת Chrome 50 שולחת אזהרה למסוף במקרה של שימוש בשמות מקווקוים למפתחות באנימציות של תמונות מפתח. המחרוזות הנכונות לשימוש הן שמות CamelCase, בהתאם לנכס ה-CSS למאפיין IDL לאלגוריתם ההמרה.

לדוגמה, מאפיין ה-CSS margin-left ידרוש מכם להעביר את marginLeft כמפתח.

ב-Chrome 51 אין יותר תמיכה בשמות מקווקוים, לכן זה הזמן לתקן כל תוכן קיים עם שמות נכונים, בהתאם למפרט.

סיכום

השינויים האלה מקרבים את ההטמעה של האנימציות באינטרנט ב-Chrome להטמעות של דפדפנים אחרים, ומתאימים יותר למפרט. כך אפשר לפשט את כתיבת התוכן בדפי אינטרנט ולשפר את יכולת הפעולה ההדדית.