50درصد تخفیف سورس فروشگاهی دیجی کالا + اپلیکیشن اندروید تا پایان این هفته - کد تخفیف : off50
با تخفیف میخرم

آموزش جی کوئری – تابع بازگشتی در جی کوئری

  • آپدیت شده در تاریخ

آموزش جی کوئری

در بخش قبلی با تکنیک زنجیر کردن متدها یا chaining در جی کوئری آشنا شدیم. در این قسمت از سری آموزش جی کوئری, به نحوه تعریف تابع بازگشتی در جی کوئری یا callback function ها می پردازیم.

 

تابع بازگشتی در جی کوئری

دستورات جاوا اسکریپت خط به خط اجرا می شود. اما, از آنجا که افکت جی کوئری طول می کشد که به اتمام برسد, پس امکان دارد خط بعدی در حین اجرای افکت قبلی, اجرا شود.

برای جلوگیری از این اتفاق, جی کوئری یک تابع بازگشتی برای بر هر یک از متدهای افکت ارایه می دهد.

یک تابع بازگشتی در جی کوئری یا callback function بعد از اینکه افکت به پایان رسید اجرا می شود.

این تابع callback به عنوان یک آرگومان به متدهای افکت پاس داده می شود و معمولا به عنوان آخرین آرگومان متد ظاهر می شود.

برای مثال, سینتکس ساده افکت slideToggle() در جی کوئری که یک تابع بازگشتی را دریافت می کند بصورت زیر است :

مثال زیر را درنظر بگیرید که دستورات slideToggle() و alert() را پشت سرهم قرار دادیم. اگر این کد را اجرا و روی دکمه کلیک کنید, پیام alert بلافاصله نمایش داده می شود بدون اینکه منتظر به پایان رسیدن افکت اسلاید شود.

و اینجا یک نسخه ویرایش شده از مثال بالا را می بینید که دستور alert() داخل تابع بازگشتی برای متد slideToggle() قرار گرفته است.

اگر این کد jQuery‌ را اچرا کنید پیام alert بعد از اتمام افکت اسلاید, نمایش داده می شود.

مشابه آن, می توانید توابع بازگشتی را برای دیگر متدهای افکت جی کوئری مثل show(), hide(), fadeIn(), fadeOut(), animate() و غیره.. تعریف کنید.

نکته: اگر متد افکت برای چندین عنصر تعریف شود, تابع بازگشتی برای هر عنصر انتخابی, یکبار اجرا می شود نه برای همه.

اگر مثال بالا را تست کنید, می بینید که یک پیام alert مشابه دوباره اجرا می شود, یکبار برای <p> و یکبار برای <h1>

 

امیدوارم در این بخش آموزش جی کوئری, از تابع بازگشتی در جی کوئری نهایت استفاده را برده باشید.

در بخش بعدی با روش های دستکاری (Manipulation) در جی کوئری, آشنا می شوید.

هر سوالی داشتید ، از قسمت نظرات ارسال کنید . سریعا ، پاسخگوی سوالات شما هستیم .

موفق باشید

حسن شفیعی علاقه خاصی به برنامه نویسی وب و موبایل دارم و هر روز تلاش می کنم به این حوزه مسلط تر شوم و اطلاعاتم را به شکل کاربردی برای علاقه مندان در وب به اشتراک بگذارم

آموزش های رایگان بیشتر در اینستاگرام ما ...

NETPARADIS /
دیدگاه کاربران

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

    دوره های آموزشی