متدهای کنترل: ()play(), pause(), reverse(), restart(), seek(), progress
در GSAP (چه روی یک Tween و چه روی Timeline) میتوانید با متدهای کنترلی، انیمیشنها را در هر لحظه اجرا، متوقف، برعکس، از ابتدا، یا به نقطهٔ خاصی هدایت کنید. مهمترین این متدها عبارتاند از:
🎬 متدهای کنترلی اصلی
متد | کاربرد | نمونهٔ استفاده |
---|---|---|
()play | اجرای انیمیشن از موقعیت فعلی یا از مکانی که متوقف شده است. | ;()tl.play |
()pause | توقف انیمیشن در همان فریم/لحظه. | ;()tl.pause |
()reverse | پخش انیمیشن در جهت معکوس از موقعیت فعلی. | ;()tl.reverse |
()restart | اجرای دوباره از ابتدا. آرگومان اختیاری includeDelay تعیین میکند آیا delay اولیه لحاظ شود. | ;tl.restart(true) |
seek(time) | پرش به لحظهٔ مشخص (بر حسب ثانیه یا Label) بدون اجرا. | ;tl.seek(2.5) یا ;tl.seek("midLabel") |
progress(value) | گرفتن یا تنظیم درصد پیشرفت انیمیشن (۰ تا ۱). | ;tl.progress(0.5) // وسط یا ;console.log(tl.progress()) |
⚡ تمام این متدها هم برای Tween (تک انیمیشن) و هم Timeline (دنبالهٔ انیمیشنها) قابل استفادهاند.
💡 مثال کامل
📌 نکات حرفهای
-
play(time): میتوانید زمان شروع را نیز بدهید؛ مثل
tl.play(1)
تا از ثانیهٔ ۱ اجرا شود. -
reverse(0)
: اجرای برعکس از ابتدای Timeline. -
با Labels مدیریت راحتتر است:
-
ترکیب این متدها با رویدادهای کاربری (کلیک، اسکرول، Observer) امکان ساخت کنترلرهای سفارشی پخش/توقف انیمیشن را میدهد.
✅ خلاصه
-
play/pause: شروع و توقف
-
reverse: پخش برعکس
-
restart: اجرای دوباره از ابتدا
-
seek(time|label): پرش به زمان/برچسب خاص
-
progress(0–1): گرفتن یا تعیین درصد پیشرفت
این متدها ابزار اصلی برای کنترل تعاملی و دقیق انیمیشنهای GSAP هستند؛ از دکمههای سادهٔ پخش/توقف گرفته تا ساخت اسلایدرها یا تایملاینهای قابل پیمایش.