קרוסלת תמונות המאפשרת להציג תמונה נבחרת בנפרד באותו עמוד. במדריך זה תלמדו כיצד ליצור חוויית משתמש חלקה בעזרת CSS ו-JavaScript, ללא צורך בתוספים.
קרוסלת תמונות

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

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

שלבים:

  1. נוסיף קרוסלת מדיה:

    • נגרור את הווידג'ט "קרוסלת מדיה" (Media Carousel) לאזור שבו אנחנו רוצים להציג את הקרוסלה.
    • נוסיף את התמונות הרצויות לקרוסלה.
    • נגדיר את הקרוסלה כמו שאנחנו רוצים (מעבר אוטומטי, מספר תמונות בו זמנית וכו').
  2. נוסיף אזור נפרד לתצוגת תמונה מוגדלת:

    • נצור אזור חדש שבו תוצג התמונה המוגדלת.
    • נגרור ווידג'ט מסוג "תמונה" (Image) לתוך האזור הזה, ונגדיר תמונה כלשהי (זו תהיה התמונה שתוחלף בלחיצה על תמונה מהקרוסלה).
  3. נוסיף ID לאזור התמונה המוגדלת:

    • בלשונית "מתקדם" (Advanced), תחת שדה "ID", נתן לאזור הזה מזהה ייחודי כמו "large-image".
  4. נוסיף קוד JavaScript:

    • נוסיף ווידג'ט HTML בעמוד שבו נמצאת הקרוסלה, ונדביק בתוכו את הקוד, שיאפשר ללחיצה על תמונה בקרוסלה להחליף את התמונה המוצגת באזור התצוגה המוגדל.

הנה דוגמה לקוד JavaScript שאפשר להוסיף:

<script>
jQuery(document).ready(function($) {

// פונקציה שמגדירה את פעולת ההחלפה
function updateCarouselImages() {
$('.elementor-carousel-image').off('click').on('click', function(){
// לקיחת ה-URL מתוך ה-CSS של background-image
var imgSrc = $(this).css('background-image');
imgSrc = imgSrc.replace('url("', ").replace('")', "); // ניקוי ה-URL

// שינוי מקור התמונה המוגדלת (src) והחלפת srcset
$('#large-image img').fadeOut(400, function(){
$(this).attr('src', imgSrc); // החלפת ה-src
$(this).attr('srcset', "); // נטרול ה-srcset כדי למנוע קונפליקטים
$(this).fadeIn(400); // אפקט fade in לאחר ההחלפה
});
});
}

// הפעלת הפונקציה בהתחלה
updateCarouselImages();

//אם הצגת תמונה מפסיקה לעבוד לאחר לחיצה על החצים קדימה או אחורה.

הבעיה נובעת מכך שהקרוסלה נטענת מחדש כאשר לוחצים על החצים, וזה גורם לאיבוד הקישוריות בין הקוד ל-Lazy Load החדש של התמונות.

כדי לפתור את זה, צריך להאזין לטעינה מחדש של הקרוסלה אחרי כל לחיצה על חץ.
נשתמש באירועי DOM של Javascript ונטען את הקוד מחדש אחרי כל שינוי בקרוסלה.

// ניטור שינויים בקרוסלה לאחר לחיצה על חצים או עדכון הקרוסלה
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
updateCarouselImages(); // חידוש האזנה ללחיצות אחרי כל שינוי בקרוסלה
});
});

// צפייה בשינויים בדפדפן בקרוסלה
observer.observe(document.querySelector('.elementor-widget-image-carousel'), {
childList: true, // שינויים בתוכן הקרוסלה
subtree: true // ניטור לכל התגיות שבתוך הקרוסלה
});

});
</script>

  • מה שקוד זה עושה הוא להאזין ללחיצה על כל תמונה בקרוסלת התמונות, לקחת את כתובת התמונה שנלחצה ולהחליף את התמונה באזור המוגדל עם ה-ID שנתתם לו.

שתפו מאמר:

שתפו מאמר:

חיפוש

נהיה בקשר

כתבות נוספות באותו נושא:

הטמעת סרטוני YouTube Shorts

הטמעת סרטוני YouTube Shorts

הטמעת סרטוני YouTube Shorts – איך עושים ומה השיטה הכי טובה? סרטוני YouTube Shorts הם דרך מצוינת להעשיר את האתר בתוכן קצר ואינטראקטיבי. הטמעת סרטון כזה באלמנטור יכולה להתבצע בשתי שיטות

שבירת שורה

שבירת שורות ב-HTML וב-CSS

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

כפתור קרא עוד

כפתור קרא עוד ללא תוסף

הקוד הזה אחראי לאפשרות של פתיחה והסתרה של טקסט בתוך האלמנט .read-more ללא תוסף. בלחיצה על האלמנט, התוכן יתרחב, ואם תלחץ שוב התוכן יוסתר

שבירת שורה במובייל

שבירת שורה בטקסט במובייל

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

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

בואו נבחר יחד אתר שהכי מתאים לכם

דילוג לתוכן