אינטרנט ישראל
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • מסטודון
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג'אווהסקריפט
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • מסטודון
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג'אווהסקריפט
ראשי » פיתוח אינטרנט » פתרונות ומאמרים על פיתוח אינטרנט » כיתוב של StarWars לאתרי אינטרנט

כיתוב של StarWars לאתרי אינטרנט

רן בר-זיק אוגוסט 18, 2013 7:44 am אין תגובות

כך יצרתי אנימצית מלחמת הכוכבים שאפשר להריץ על כל פלטפורמה בקלות ובכיף.

כדאי תמיד להשאר מעודכנים! אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂 אם אתם רוצים ללמוד תכנות באופן מקיף ומסודר, הצטרפו לאלפי הלומדים בפרויקט "ללמוד ג'אווהסקריפט בעברית" שמלמד לתכנת בג'אווהסקריפט, ב-Node.js ובריאקט וגם מלמד על תרומה לקוד פתוח. גם ספרים דיגיטליים וגם ספרים מודפסים. בשיתוף הקריה האקדמית אונו ובתמיכת חברות מובילות כגון Wix, Outbrain, Elementor, Iron Source, Chegg, Really Good ועוד.

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

אנימצית מלחמת הכוכבבים

דמו של הגרסה הקיימת אפשר למצוא ממש בקישור הזה אתם יכולים להציץ בקוד המקור. זה עובד בכל הדפדפנים המודרניים וגם באקספלורר 10.

יש בדמו הזה שימוש בכמה דברים מעניינים מבחינת ה-client side.

הראשון הוא האנימציה. כל האנימציות נעשו עם CSS3. אם יש משהו שאני לא אוהב באנימציות של CSS3, חוץ מזה שהן טוחנות קצת את ה-CPU, זה ה-prefixes. למי שלא מכיר או לא השתמש, ה-prefix הן תחיליות קטנות שיש להוסיף אותן לחלק מהתכונות המתקדמות של ה-CSS3 – תלוי בגרסה של הדפדפן. כך למשל, אם אנו רוצים לבצע transition, יש גרסאות של פיירפוקס שדרשו לכתוב את ה-transition כך: -moz-transition.
על מנת להמלט מגהינום ה-prefixes ולכתוב CSS נקי, השתמשתי בתוסף קטן של JavaScript שנקרא prefix free. באופן עקרוני, אני לא משתגע על JavaScript שעושה דברים ב-CSS מבחינת ביצועים, אבל אני יותר שונא prefix אז השתמשתי בו.

על מנת לתזמן את האנימציות השתמשתי ב-event נחמד ולא ידוע כל כך שנקרא transEndEventName – זה event שנורה מיד אחרי שאנימציה מסוימת מסתיימת. במקרה הזה, רציתי להתחיל את רצף הפעולות מיד אחרי שהכיתוב הכחול של long long time ago נעלם. איך עשיתי את זה? עם transEndEventName שהצמדתי לכיתוב הכחול (intro class). ברגע שהאנימציה של הכיתוב הכחול מסתיימת, אני מחכה 3 שניות ואז מתחיל להריץ רצף של פעולות. אני משתמש באירוע הזה עוד כמה פעמים כדי להבין מתי הלוגו של מלחמת הכוכבים נעלם ולהריץ את הטקסט המתגלגל.
הבעיה היא ששם האירוע הזה משתנה בין דפדפן לדפדפן (כן כן, גם בין firefox ל-chrome). מה הפתרון? Modernizr שנותן לי אבחנה של ה-prefix ודרכו אני יכול למצוא את שם האירוע שנתמך בדפדפן הספציפי:


	    transEndEventNames = {
		    'WebkitTransition' : 'webkitTransitionEnd',
		    'MozTransition'    : 'transitionend',
		    'OTransition'      : 'oTransitionEnd',
		    'msTransition'     : 'MSTransitionEnd',
		    'transition'       : 'transitionend'
		},
		transEndEventName = transEndEventNames[ Modernizr.prefixed('transition') ];

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

ובסוף בסוף כמובן שהשתמשתי באלמנט audio על מנת לנגן את הקול. כדי לתמוך גם בפיירפוקס, שמתי אודיו של ogg בנוסף לאודיו מבוסס MP4.

הדמו מראה איזה דברים מדהימים אפשר לעשות בלי להתאמץ יותר מדי עם CSS3 וקצת HTML5. שימוש בפתרונות מבוססי JavaScript כמו Modernizr ו-prefix free הופכים גם את כל העניין לפשוט אף יותר.

ואם אתם מוצאים באגים, חושבים שאפשר לעשות את זה טוב יותר או יש לכם רעיונות או הצעות – העליתי את זה ל-GitHub שלי.

כדאי תמיד להשאר מעודכנים! אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂 אם אתם רוצים ללמוד תכנות באופן מקיף ומסודר, הצטרפו לאלפי הלומדים בפרויקט "ללמוד ג'אווהסקריפט בעברית" שמלמד לתכנת בג'אווהסקריפט, ב-Node.js ובריאקט וגם מלמד על תרומה לקוד פתוח. גם ספרים דיגיטליים וגם ספרים מודפסים. בשיתוף הקריה האקדמית אונו ובתמיכת חברות מובילות כגון Wix, Outbrain, Elementor, Iron Source, Chegg, Really Good ועוד.
CSS3

השארת תגובה

ביטול

ללמוד ג'אווהסקריפט בעברית

ללמוד לתכנת ג'אווהסקריפט בעברית שגייס יותר משלוש מאות אלף שקל ולמעלה מ-2000 תומכים - בואו ללמוד עכשיו איך לתכנת.

רשימת הנושאים
  • מדריכים
    • ריאקט
    • טייפסקריפט
    • ECMAScript 6
    • ES20XX
    • Node.js
    • Express
    • רספברי פיי
    • Babel
    • docker
    • MongoDB
    • Git
    • לימוד MySQL
    • SASS
    • jQuery
    • CSS3
    • HTML 5
    • SVN
    • LESS
  • פיתוח אינטרנט
    • פתרונות ומאמרים על פיתוח אינטרנט
    • jQuery Scripts
    • jQuery למתקדמים
    • יסודות בתכנות
    • נגישות אינטרנט
  • חדשות אינטרנט
  • מידע כללי על אינטרנט
    • רשת האינטרנט
    • בניית אתרי אינטרנט
  • rss logo

    לכל המאמרים

    לכל המאמרים שפורסמו באינטרנט ישראל משנת 2008 ועד עכשיו.
  • rss logo

    RSS Feed

    משתמשים בקורא RSS? אם כן, עקבו אחרי אינטרנט ישראל באמצעות פיד ה-RSS!
    מה זה RSS?
  • Twitter logo

    עקבו אחרי בטוויטר

    בחשבון הטוויטר שלי אני מפרסם עדכונים מהירים על חדשות בתחום התכנות והיזמות, התרעות על מצבי חירום ורכילות בוערת על תחום הווב.
    מה זה טוויטר?
  • facebook like image

    ערוץ הטלגרם של אינטרנט ישראל

    בערוץ הטלגרם של אינטרנט ישראל אני מפרסם את הפוסטים של באתר וכן עדכונים טכנולוגיים נוספים.
    מה זה טלגרם?
  • github logo

    הפרויקטים שלי בגיטהאב

    הפרויקטים שאני כותב ושוחררו לציבור ברישיון קוד פתוח נמצאים ברובם בגיטהאב.
חיפוש

כל הזכויות שמורות לרן בר-זיק ולאינטרנט ישראל | מדיניות הפרטיות של אתר אינטרנט ישראל | אתר אינטרנט ישראל נגיש לפי תקן WCAG 2.0 AA | הצהרת הנגישות של האתר | אבטחת מידע ודיווח על בעיית אבטחת מידע

גלילה לראש העמוד