۰ امیر حق شناس
خلاصه جلسه پنجم - افکت animate در جی کوئری
جامعه Html & CSS ایجاد شده در ۱۲ مرداد ۱۴۰۴

                                                                       به نام خدا

 

📌 بررسی ساختار و افکت animate() در jQuery

1. معرفی متد animate()

  • متد animate() برای ایجاد انیمیشن سفارشی روی ویژگی‌های CSS استفاده میشه.
  • فقط روی ویژگی‌های عددی کار می‌کنه (مثل width، height، opacity، top، left و...).
  • ویژگی‌های دارای خط تیره (مثل border-radius) باید به صورت camelCase نوشته بشن:

    javascript

    CopyEdit

    border-radius ❌   borderRadius ✅


2. ساختار کلی

javascript

CopyEdit

$(selector).animate({ cssProperty: value }, duration, easing, callback);

  • cssProperty → ویژگی CSS که میخوای تغییر کنه.
  • value → مقدار نهایی ویژگی (معمولا همراه px یا واحد مناسب).
  • duration → مدت زمان انیمیشن (بر حسب میلی‌ثانیه یا مقادیر "slow" و "fast").
  • easing → نوع حرکت (معمولا "swing" یا "linear").
  • callback → تابعی که بعد از پایان انیمیشن اجرا میشه.

3. مثال ساده

javascript

CopyEdit

$(".box").animate({ width: "200px", height: "150px" }, 1000);


4. اجرای چند انیمیشن پشت سر هم (Queue)

javascript

CopyEdit

$(".box")  .animate({ width: "200px" }, 1000)  .animate({ height: "100px" }, 1000)  .animate({ top: "100px" }, 1000)  .animate({ right: "100px" }, 1000);

  • هر .animate() بعد از تمام شدن قبلی اجرا میشه.

5. نکات مهم

  • ویژگی‌هایی مثل boxShadow با جی‌کوئری پیش‌فرض انیمیت نمیشن و برای این کار باید از jQuery UI یا پلاگین استفاده بشه.
  • میشه از مقادیر نسبی هم استفاده کرد:

    javascript

    CopyEdit

    $(".box").animate({ height: "+=50px" });

  • میشه از توابع callback برای اجرای کار بعد از انیمیشن استفاده کرد.

📌 تعریف متغیرها در jQuery

1. ساختار تعریف متغیر

در جاوااسکریپت (و جی‌کوئری) برای تعریف متغیر از:

  • var
  • let
  • const
    استفاده میشه.

2. مثال

javascript

CopyEdit

var box = $(".box"); // ذخیره المنت در متغیر box.animate({ width: "200px" }, 1000);


3. مزایای استفاده از متغیر

  • کد خواناتر و کوتاه‌تر میشه.
  • باعث بهینه‌سازی سرعت میشه چون المنت فقط یکبار جستجو میشه.
  • راحت‌تر میشه تغییرات بعدی رو روی همون متغیر اعمال کرد.