ورود

View Full Version : باز شدن منو با کلیک و بسته شدن با کلیک روی بادی



poozhan
دوشنبه 17 مرداد 1390, 21:10 عصر
خسته نباشید
من یک کد میخوام که با کلیک روی یک ul خاص یک div باز بشه و با کلیک روی هر جایی از صفحه یا کلیک روی همان ul اون div که باز شده بسته بشه من کد زیر رو نوشتم ولی کار نمیکنه به نظر شما مشکل از کجاست؟



$(document).ready(function(){
$("li#sub").click(function(){
$("div#submenu").toggle();
$("div#submenu").addClass("submenu1");
});
$("body").click(function(){
if($("div#submenu").hasClass("submenu1")){
$("div#submenu").hide();
}
});
});

alismith
سه شنبه 18 مرداد 1390, 05:14 صبح
سلام

این تغییر رو اعمال کنید اگر درست نشد باید یک کد دیگه نوشت :


$("li#sub").click(function(){
$("div#submenu").toggle();
$("div#submenu").addClass("submenu1");

return false;
});




موفق باشید

poozhan
سه شنبه 18 مرداد 1390, 20:51 عصر
سلام

این تغییر رو اعمال کنید اگر درست نشد باید یک کد دیگه نوشت :


$("li#sub").click(function(){
$("div#submenu").toggle();
$("div#submenu").addClass("submenu1");

return false;
});




موفق باشید


ممنون ولی این کد که شما نوشتید کار میکنه ولی فقط با کلیک روی li#sub منو باز و بسته میشه ولی من میخوام با کلیک روی بادی body هم منو بسته بشه ولی نمیشه.
ممنون میشم جواب بدید

alismith
چهارشنبه 19 مرداد 1390, 01:00 صبح
سلام

دوست عزیز من دقیقا نمی دونم شما چه کار کردید ، ولی این دستور :

$("div#submenu").hide();

کارش چی هست؟
باید menu رو پنهان بکنه دیگه؟
شاید مشکل از شرط باشه، چرا شرط گذاشتید؟

میخاین اینطوری بنویسید :


if($("div#submenu").attr('class')=="submenu1"){

}


امتحان کنید

البته تابع hasClass هم درست هستش!!!

موفق باشید

poozhan
چهارشنبه 19 مرداد 1390, 01:23 صبح
مشکل اینجا بود که li داخل تگ بادی هست و با کلیک روی li دستورات بادی هم اجرا میشد که با در نظر گرفتن یک متغیر حل شد ممنون تقریبا با کلی تغییرات این برنامه من تقریبا 50 خط شد
بازم ممنون

alismith
چهارشنبه 19 مرداد 1390, 02:59 صبح
آقا اون return false کارش همین بود دیگه تا دستورات body اجرا نشند وقتی رو li کلیک می کنی

javad.nic63
چهارشنبه 19 مرداد 1390, 13:55 عصر
از blur استفاده کن.