כל הרכיבים

MotionZoom

תמונה שמתקרבת מהמקום שלה למסך מלא; גררו אותה הצידה כדי לסגור.

אינטרנטReact Nativeשכבות־על

נסו את זה

מכין את הדוגמה…

השימוש הקצר ביותר

Photo.jsx
<MotionZoom
  src={photo.thumb}
  zoomSrc={photo.full}
  width={240}
  height={160}
  style={{ objectFit: 'cover', borderRadius: 12 }}
/>;

מה הוא עושה בשבילכם

  • לחיצה, Enter או רווח מגדילים את התמונה מהמקום שלה עד שהיא ממלאת את המסך בתוך margin.
  • העותק המוגדל מתחיל בדיוק כמו שהתמונה הממוזערת נראית, עם החיתוך של object-fit ורדיוס הפינות.
  • zoomSrc מופיע בהדרגה ברגע שנטען.
  • לחיצה, Escape או גרירה הצידה סוגרים; גם זריקה מהירה סוגרת, וגרירה קצרה קופצת בחזרה.

מתאים ל־

  • רשת תמונות.
  • גלריית מוצרים.
  • תמונות בתוך פוסט בבלוג.

Props

Propטיפוסברירת מחדלתיאור
srcstringהתמונה שמוצגת במקומה.
zoomSrcstringתמונה גדולה יותר שמוצגת ברגע שנטענה; שמרו על אותו יחס גובה־רוחב.
marginnumber24מרווח שנשמר סביב התמונה המוגדלת בפיקסלים.
disabledbooleanfalseמכבה את הזום.
onZoomChange(zoomed) => voidרץ עם true כשמוגדל ועם false כשנסגר.
backdropStyleCSSPropertiesסגנון מוטבע לרקע.
transitionTransitionspringעקומת timing { duration, easing } או קפיץ { tempo: 'spring', spring }. קפיצים שומרים על התנופה שלהם כשמפריעים להם.

props אחרים עוברים לאלמנט המרונדר, כך ש־className, style ומטפלי אירועים עובדים כרגיל.

אינטרנט ו־React Native

שכבת־העל קיימת רק בזמן הזום (באינטרנט, dialog בשכבה העליונה), כך שהתמונה יכולה לשבת בכל מקום, אפילו בתוך פסקה. props אחרים עוברים ל־img.

ב־React Native העבירו source ו־zoomSource; שכבת־העל היא Modal שקוף.

בשימוש בדוגמאות האלה

חיפוש

הקלידו כדי לחפש בתיעוד.