ترفندهای پیشرفته jQuery (قسمت 28)

- visibility ٠ mode_comment

در این قسمت با ادامه ترفندهای پیشرفته jQuery در خدمت شما هستیم. jquery trickshot

موضوع چهارم : ماهر شدن در JQuery

ترفند 53 : اطلاعات بیشتر در مورد Deferred در JQuery

در مطالب قبلی و در موضوع Ajax کمی درباره Deferred توضیح دادیم. ابزارهایی وجود داره که میتونه نحوه کار با رویدادهای asynchronous رو ساده تر کنه. بیاید عمیقتر به این قضیه نگاه کنیم و تلاش کنیم که یک شئ JSON Reader رو بسازیم که یک Deferred رو برگشت میده.

کدهای JS:

میبینید که در ابتدا یک تابع بنام JSON_Reader تعریف کردیم و این تابع یک ورودی که همون اسم فایل json هست رو میگیره. وظیفه این تابع خوندن فایل JSON هست. در خط اول اومدیم با استفاده از عملگر new یک شئ از Deferred ساختیم. بعد از اون یک درخواست Ajax میفرستیم که URL اون آدرس فایل json هست. نوع اون رو json قرار دادیم و میبینید که دو تا متد success و error قرار داده شده. بسته به شرایطی که پیش میاد اگر فرآیند موفقیت آمیز باشه متد resolve از Deferred اجرا میشه. اگر فرآیند با مشکل مواجه بشه متد reject اجرا میشه.

متد resolve باعث اجرا شدن callback بنام done دستوراتش اجرا بشه و متد reject باعث میشه callback بنام fail اجرا بشه. شئ promise که برگشت دادیم یک نمونه ساده از Deferred هست که متدهای reject یا resolve رو نداره و صرفا میتونه برای استفاده در رویدادها بکار برده بشه.

حالا اگه بخوایم از تابعی که ساختیم استفاده کنیم:

میبینید که در ابتدا یک نمونه از شئ ساختیم و بعنوان پارامتر 1 رو به اون پاس دادیم. پس یعنی میخایم روی 1.json عملیات انجام بشه. حالا با توجه به اینکه تابع resolve یا reject بشه ، done یا fail اجرا میشن و پیامی رو برای شما چاپ میکنن. اگر همه چی درست پیش بره ، چنین چیزی در Console خواهید دید:

این متن ، محتویات درون 1.json هست. البته باید اینو عرض کنم که با یک مثال کوچیک نمیشه اصول پیچیده Deferred هارو بیان کرد و توضیح داد. شما میتونین در این لینک مطالب بیشتری در مورد این موضوع پیدا کنید.

ترفند 54 : فراخوانی متدهای jQuery بصورت مشروط

این یکی از ترفندهای قدیمی Javascript هست که میشه بصورت ساده اونو برای jQuery هم استفاده کرد. این ترفند از این حقیقت پیروی میکنه که همه ویژگی های اشیائ Javascript توسط روشهای آرایه قابل دسترسی هستن. مثال:

کدهای HTML:

کدهای JS:

در ابتدا متغیرهایی رو تعریف میکنیم:

حالا میخایم کاری کنیم که اگر جهت یا direction به سمت بالا یعنی up بود ، متد slideUp اجرا بشه و در غیر اینصورت متد slideDown:

روش عمومی:

روش ساده تر و بهتر:

 

امیدوارم از این مطلب خوشتون اومده باشه.

موفق و پیروز باشید

یا علی

Source

comment دیدگاه کاربران

نیاز به لاگین

برای ارسال دیدگاه و یا پرسیدن سوال خود در این قسمت، باید در سایت لاگین شوید.