יצירת פורטפוליו (Masonry) בוורדפרס עם אנימציית טעינה
נכתב ע״י רועי יוסף•עודכן ב-7 לנובמבר, 2024•
אין תגובות
כתבתי לא מזמן על Isotope וכיצד להשתמש בספרייה זו בכדי ליצור פילטר או סינון של פוסטים בוורדפרס. כפי שציינתי באותו פוסט, ל- Isotope קיים אח צעיר הנקרא masonry.js באמצעותו ניתן ליצור עימודים (layouts) נחמדים ובעצם מאפשר יצירת מתווים מבוססי גריד אך ללא אפשרויות סינון ומיון.
השימוש masonry.js אידיאלי בכדי ליצור פורטפוליו של תמונות,פרוייקטים וכדומה. אז בפוסט זה, אשר לא מעט מהקוד המופיע בו נלקח מהפוסט הבא אותו כתבה Mary Lou, נראה כיצד ליצור פורטפוליו באמצעות masonry.js ונשתמש ב anime.js בכדי ליצור אנימציות טעינה מגניבות לאותו פורטפוליו.
הסיבה שאני כותב פוסט זה הוא בכדי להקל עליכם ליצור פורטפוליו מסוג זה ולחסוך מכם את הצורך לנבור בקוד אותו Mary Lou כתבה. בנוסף, כנראה ובפרוייקט שלכם תבחרו אפקט יחיד בלבד ותממשו את האנימציה בזמן טעינת העמוד ולא בלחיצת כפתור כפי ש Mary מציגה – אראה בהמשך כיצד לעשות זאת.
אציין כי לא ארחיב על הקוד בפוסט אך אראה דוגמאות לאפקטים בהם תוכלו להשתמש, ואסביר כיצד לממש בפועל את אותם אפקטים על ה Masonry (הפורטפוליו שלנו).
בואו נתחיל, אך לא לפני שנראה על מה מדובר ואילו אנימציות ניתן לבצע ע״י הקוד שאצרף בפוסט זה…
אנימציות טעינה לפורטפוליו – דוגמאות לאפקטים
לחצו על הכפתורים מטה בכדי לראות את אפקט הטעינה ואת האופציות העומדות לרשותכם:
שימו לב כי הוספתי את הקלאס no-lazy להתמונות. קבעתי בתוסף הקאש בו אני משתמש כי תמונות עם קלאס זה לא ייטענו בטעינה עצלה (Lazy Load) מכיוון וזו הפריעה להצגת הפורטפוליו בצורה ראויה.
מיותר לציין כי עליכם להגדיר את הנתיב הנכון לתמונות בהתאם למיקום בו הוספתם אותן.
קובץ העיצוב (CSS) של הפורטפוליו שלנו
הנה ה CSS בו השתמשתי – לא ארחיב על זה אך ייתכן ותאלצו לשחק עימו מעט בכדי להגיע לתוצאה הרצויה וזאת בהתאם ל CSS הקיים בתבנית שלכם:
Hapi הוא האפקט היחיד הקיים בקוד זה אך כמובן שניתן להחליפו בכל אפקט אחר על ידי החלפת שורות 25-40 באפקט הרצוי מהקובץ אותו צירפתי קודם לכן.
כמו כן, בקוד זה הסרתי את אפשרות שינוי האפקט בלחיצה על אותם כפתורים ודאגתי לממש את האפקט בטעינת העמוד (שורה 177). אם החלפתם את האפקט באחר יש להחליף גם את שמו בשורה זו בהתאם.
דבר אחרון הוא הוספת תמיכה באתרים מימין לשמאל (RTL) וזאת על ידי הפרמטר originLeft: false בשורה מספר 165.
עד כאן, מקווה שהפוסט עזר לכם. שאלות ותגובות יתקבלו בברכה… 🙂
כותב הפוסט : רועי יוסף
מפתח אתרים ותבניות וורדפרס. מספק אתרים עם ביצועים גבוהים, מותאמים למנועי חיפוש ובעלי קוד ולידי, סמנטי ונקי. צריכים עזרה? צרו איתי קשר.