محمد رضایی

مشکل در کدنویسی جی کوئری

5 پست در این موضوع قرار دارد

ارسال شده در (ویرایش شده)

با سلام بنده یک فرمی ورود و عضویتی رو درست کردم که به صورت پیش فرض خاصیت display:none داره، نحوه کارکردشم جوریه که وقتی روی یه دکمه کلیک میکنی فرم toggle میشه و تمامی صفحه به جزء اون فرم opacity میگیره که فرم بهتر دیده بشه.

اینم کدش:


$(document).ready(function() {
$(".login-btn").click(function() {
$(".login-panel").fadeToggle(400);
$(".all-page").animate({opacity: '0.1' ,}, 400);
});
});

حالا اینجا 2 تا مشکل وجود داره!

1 - مشکل اول اینه که فرم فقط با دکمه ی login-btn بسته میشه یعنی وقتی که فرم باز میشه اگر روی دیگر قسمت های سایت کلیک کنی فرم بسته نمیشه و فقط باید روی همون دکمه کلیک کنی تا فرم fadeout بشه که این مسئله باعث اذیت شدن کاربران میشه.

2 - مشکل دوم هم اینه که وقتی که روی دکمه کلیک میشه و فرم باز میشه تمامی صفحه opacity میگیره اما وقتی دوباره فرم رو می بندی opacity به حالت اول بر نمی گرده! و همین جوری کل پیج کم رنگ میمونه.

ممنون میشم اگه راهنماییم کنید

ویرایش شده در توسط محمد رضایی
0

به اشتراک گذاری این پست


لینک به پست

سلام. یه راه خیلی سادش اینه:


//soale dovom
$(document).ready(function() {
var clicktoggle = 0;
$(".login-btn").click(function() {
$(".login-panel").fadeToggle(400);
if(clicktoggle){
$(".all-page").animate({opacity: '1' ,}, 400);
clicktoggle = 0;
}
else{
$(".all-page").animate({opacity: '0.1' ,}, 400);
clicktoggle = 1;
}
});
$('body:not(.login-panel)').click(function(){
if($('.login-panel').css('display') == 'block')
$('.login-panel').css('display','none');
});
});

راه های دیگه هم هست مثلا استفاده از متد toggle() توی جی کوئری

2

به اشتراک گذاری این پست


لینک به پست

سلام. یه راه خیلی سادش اینه:


//soale dovom
$(document).ready(function() {
var clicktoggle = 0;
$(".login-btn").click(function() {
$(".login-panel").fadeToggle(400);
if(clicktoggle){
$(".all-page").animate({opacity: '1' ,}, 400);
clicktoggle = 0;
}
else{
$(".all-page").animate({opacity: '0.1' ,}, 400);
clicktoggle = 1;
}
});
$('body:not(.login-panel)').click(function(){
if($('.login-panel').css('display') == 'block')
$('.login-panel').css('display','none');
});
});

راه های دیگه هم هست مثلا استفاده از متد toggle() توی جی کوئری

بسیار ممنون این کد شما مشکل دوم رو حل کرد ولی اولی هنوز باقیه!

0

به اشتراک گذاری این پست


لینک به پست

اون کدی که نوشتم براتون تستش نکردم ولی فکر نمیکنم اشتباه باشه. اما میتونید به توضیحات موجود توی این لینک مراجعه کنید:

http://stackoverflow.com/questions/1403615/use-jquery-to-hide-a-div-when-the-user-clicks-outside-of-it

موفق باشید.

0

به اشتراک گذاری این پست


لینک به پست

سلام

نمونه

2

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری