سلام تو خیلی از سایت ها دیدم منوهای خاصی دارند
منظورم این هست تا وقتی روشون کلیک نکنی باز نمیشند
نمونه این منو ها رو تو این سایت دیدم:
آدرس سایت
ممنون میشم اگر کسی در این رابطه تجربه ای داره به ما هم یاد بده
سلام تو خیلی از سایت ها دیدم منوهای خاصی دارند
منظورم این هست تا وقتی روشون کلیک نکنی باز نمیشند
نمونه این منو ها رو تو این سایت دیدم:
آدرس سایت
ممنون میشم اگر کسی در این رابطه تجربه ای داره به ما هم یاد بده
CSS ــه استفاده شده در این منو ها از کتابخانه ی Bootstrap گرفته شده...
برای ساختشون هم از JQuery استفاده شده ...
شما با JQuery می تونید منوهای بهتر از این رو هم بسازید...
ایام به کام - موفق باشید
تشکر
میتونید کمکم کنید تا منم بتونم عین این رو بسازم؟
خواهش میکنم
نمونه خارجی نداره؟
کمک کنید
اینو براتون نوشتم!هر کجاشو که نفهمیدین بگین براتون توضیح میدم(ببخشید یک مشکلی داشت الان درستش کردم!):
آخرین ویرایش به وسیله 2undercover : چهارشنبه 14 فروردین 1392 در 18:54 عصر
این سایتم میتونه خیلی کمکت کنه
http://www.codepen.io/
میشه یکم رو کد هاتون توضیح بدید؟
دوست من undead این سایت چی هست؟
اینم توضیحات:
$('#Menu > li').click(function(){});
توی این قسمت که واضحه می خوایم هر وقت روی اون تگ li که توی #Menu هست کلیک شد دستورات بعدی اجرا بشه!
if($(this).attr('class')=='Active')
برای مشخص کردن این که کدوم لیست باز شده به اون li که الان بازه کلاس Active رو میدیم و اینجا چک می کنیم ببینیم که لیست باز شده یا بسته است!
$(this).children().hide();
$(this).removeClass('Active');
این دستورات در صورتی اجرا میشه که شرط بالا صحیح باشه یعنی لیست باز بوده پس باید بسته بشه که تابع children تمام تگ های زیر مجموعه ی اون li که روش کلیک شده رو بر می گردونه و تابع hide هم همه ی اون هارو مخفی یا محو می کنه! بعد هم با تابع removeClass اون کلاس Active که رو که مال لیست باز هست رو حذف می کنیم چون لیست بسته شده!
$('#Menu > li').removeClass('Active');
$('#Menu > li').children().hide();
$(this).addClass('Active');
$(this).children().show();
خوب این کد ها هم اگر شرط اشتباه بود اجرا میشن یعنی لیستی که روش کلیک شده بسته بوده و باید باز بشه!
تو دو خط اول هر چی لیست بوده رو می بندیم و کلاس های Active تمام لیست های رو حذف می کنیم!(تو خط های قبلی چگونگیش رو توضیح دادم!)
خوب چون لیست می خواد باز بشه پس باید کلاس Active رو به لیستی که روش کلیک شده اضافه می کنیم با تابع addClass!
در خط چهارم همه ی تگ های زیرمجموعه اون لیستی که روش کلیک شده رو با تابع show به نمایش در میاریم!
این توضیحات کد های JQuery اگر توی استایل های CSS مشکلی داشتید بگید تا اون هارو هم توضیح بدم؟!
توی پست پنجم کل فایل هارو کامل ضمیمه کردم!
شرمنده موقع نوشتن حواسم نبود با فرمت php ذخیره کردم و گرنه کد php نداره توش! شما دستی فرمتشو به html تغییر بده!
در سمپل همه لیستها باز هستند و امکان بسته شدن لیستها وجود ندارد
من روی Opera و Chrome تست کردم مشکلی نداشت!
احتمالا از IE استفاده کردید!
من هم تست کردم
بسته نمیشند با فایر فاکس هم تست کردم
برای بسته شدن باید دوباره روی لیست کلیک کنید!احتمالا شما توی نقاط خالی صفحه کلیک می کنید!برای اینکه اگه توی نقاط دیگه صفحه کلیک شد منو بسته بشه باید یک چند خط کد دیگه اضافه کرد!
نه والا رو هر جا کلیک میشه بسته نمیشه حتی رو خود منو
میشه مجدد بررسی کنید؟
با بقیه مرورگر ها هم امتحان کردین؟نمی دونم آخه روی سیستم خودم جواب میده؟!
خودم الان با Firefox 20 امتحان کردم درست کار می کرد!
با همه مرورگر ها همین مشکل هست@!
باید درست شده باشه دیگه:
این هم همون مشکل رو داره.
فقط رو منو کلیک کنیم بسته میشه
عجب مشکلیه! من اینو امتحان کردم هر جا به غیر از منوی باز کلیک بشه بسته میشه: