כפתור קרא עוד לטקסט ארוך

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

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

איך מוסיפים כפתור "קרא עוד" באלמנטור

  1. נפתח את העמוד באלמנטור ונבחר את הווידג’ט שבו מופיע הטקסט הארוך, ניגש ללשונית מתקדם ושם נדביק את הקלאס הזה: elementor-text-editor
  2. נוסף ווידג’ט HTML מתחת לטקסט, או בתוך אותו קונטיינר (כדי שהכפתור יופיע בסוף הפסקה) ונדביק את הקוד שנמצא כאן למטה.
  3. לאחר שנשמור את השינויים נוכל לראות את זה בעמוד עצמו (לא בתוך העורך של אלמנטור).

 

 

ניתן להתאים את העיצוב והצבעים בדרך הזו:

  1. שינוי הצבעים של הכפתור מתבצע בקוד בעזרת המשתנים הגלובליים של אלמנטור (var(–e-global-color-primary) ו־var(–e-global-color-secondary)) וניתן להגדיר צבעים בצורה ידנית בשורת הקוד הזו:
    readMoreBtn.style.backgroundColor = isExpanded
    ? '#00C5B6' // צבע כשהכפתור פתוח
    : '#222222'; // צבע כשהכפתור סגור
  2. על מנת לשנות את גובה הטקסט: בשורת ה־CSS –closed-lines: 7; אפשר לשנות את המספר כדי לקבוע כמה שורות יוצגו לפני שהכפתור מופיע.
  3. החלק ששולט על הצבעים בגרדיאנט שמעל הכפתור נמצא בשורה הזו:
    background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1));

כך זה נראה לדוגמא:

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

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

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

				
					<script>
document.addEventListener('DOMContentLoaded', function() {
  const textWidgets = document.querySelectorAll('.elementor-text-editor');

  textWidgets.forEach((textWidget) => {
    const originalContent = textWidget.innerHTML.trim();
    if (!originalContent) return;

    const wrapper = document.createElement('div');
    wrapper.classList.add('read-more-wrapper');
    wrapper.innerHTML = `
      <div class="truncated-text"></div>
      <div class="full-text"></div>
      <div class="read-more-footer">
        <div class="gradient-overlay"></div>
        <button class="read-more-btn" type="button">קרא עוד</button>
      </div>
    `;

    textWidget.innerHTML = '';
    textWidget.appendChild(wrapper);

    const readMoreBtn = wrapper.querySelector('.read-more-btn');
    const truncatedText = wrapper.querySelector('.truncated-text');
    const fullText = wrapper.querySelector('.full-text');

    truncatedText.innerHTML = originalContent;
    fullText.innerHTML = originalContent;

    // צבע ברירת מחדל
    readMoreBtn.style.backgroundColor = 'var(--e-global-color-secondary)';

    readMoreBtn.addEventListener('click', function () {
      const isExpanded = wrapper.classList.toggle('expanded');
      readMoreBtn.textContent = isExpanded ? 'סגור' : 'קרא עוד';
      fullText.style.maxHeight = isExpanded ? (fullText.scrollHeight + 'px') : '0px';

      readMoreBtn.style.backgroundColor = isExpanded
        ? 'var(--e-global-color-primary)'
        : 'var(--e-global-color-secondary)';
    });
  });
});
</script>

<style>
/* מבנה עמודי מלא */
.read-more-wrapper {
  --closed-lines: 7; /* כמה שורות במצב סגור */
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* טקסט סגור */
.truncated-text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--closed-lines);
  overflow: hidden;
}

/* טקסט פתוח */
.full-text {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease-out;
}

.read-more-wrapper.expanded .truncated-text {
  display: none;
}
.read-more-wrapper.expanded .full-text {
  max-height: 2000px;
}

/* תחתית הכרטיס */
.read-more-footer {
  margin-top: auto;
  text-align: center;
  position: relative;
}

/* גרדיאנט – נראה רק כשהכרטיס סגור */
.gradient-overlay {
  position: absolute;
  top: -36px;
  left: 0;
  right: 0;
  height: 36px;
  background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1));
  transition: opacity 0.3s ease;
}
.read-more-wrapper.expanded .gradient-overlay {
  opacity: 0;
}

/* הכפתור */
.read-more-btn {
  background-color: var(--e-global-color-secondary);
  color: #fff;
  border: none;
  border-radius: 20px;
  padding: 5px 14px;
  cursor: pointer;
  transition: background-color 0.3s ease;
  font-size: 0.95rem;
}
.read-more-btn:hover {
  background-color: var(--e-global-color-primary);
}

/* מתיחת כרטיסים בגריד */
.elementor-grid,
[data-elementor-type="container"].elementor-element .e-con {
  align-items: stretch;
}
</style>

				
			

קודים נוספים

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

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

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