ورود

View Full Version : سوال: کنسل کردن افکت که هنوز اجرا نشده



ablofazlkianianboohi
شنبه 22 مهر 1391, 14:58 عصر
سلام دوستان
بنده یک قسمتی در وب سایتم دارم که حاوی چند تا آیتم هست:
Item1
Item2
Item3

وقتی روی هر کدوم از آیکون ها کلیک می کنی، div کلی این آیتم ها با افکت hide مخفی میشوند.داخل هر کدام از Item ها دوباره یکسری آیتم وجود دارد:
Item1-1
Item1-2
Item1-3
که این آیتم ها با افکت show در چند ثانیه ظاهر میشوند.حال اینجا یک دکمه back گذاشتم که بر می گرده به منوی اول یعنی:
Item1
Item2
Item3
مشکل اینجاست که اگر وسط اجرا افکت مثلا Item1-2 دکمه back رو بزنی و دوباره روی Item1 کلیک کنی، از ادامه افکت شروع می کنه.یعنی Item1-1 که قبلا اجرا شده بود هست و دوباره افکتش جاری نمیشه و Item1-2 از وسط هاش شروع به اجرای افکت می کنه.

حالا می خوام کاری کنم وقتی back رو زدم همه چیز به حالت اولیه برگرده و انگار تا حالا هیچ افکتی اجرا نشده.

چطور این کار را انجام بدهم؟

Mohsen.
شنبه 22 مهر 1391, 20:40 عصر
شاید اگه اینطوری با تابع stop بنویسید درست بشه:

$('item').stop(true,true).animate('opacity':0)

تابع animate رو برای مثال آوردم.

ablofazlkianianboohi
یک شنبه 23 مهر 1391, 13:19 عصر
ممنون از پاسخت دوست عزیز
من از stop استفاده کردم؛ اما نه به این صورت.فقط stop خالی. با این کار افکت کنسل می شد اما دفعه بد از اول شروع نمی شد بلکه ادامه رو می رفت البته بهتر.
برای تابع های show و hide چه باید بکنم؟

Mohsen.
یک شنبه 23 مهر 1391, 17:10 عصر
من خودم وقتی از stop خالی استفاده میکردم همیشه مشکل داشتم. اما stop همراه با پارامترهاش مشکلات کمتری داره.
خوب میتونید این رو هم در تابع های show و hide استفاده کنید.