2014-02-10 4 views
0

Каждый раз, когда пользователь нажимает ссылку «Зарегистрироваться» или «Войти», появляется всплывающее окно. Но пользователь должен снова щелкнуть ссылку «Вход» или зарегистрироваться, если он хочет закрыть всплывающее окно. Можно ли закрыть всплывающее окно, если щелчок сделан в другом месте на веб-странице?jQuery - Закрыть диалоговое окно при нажатии на него

Это код выпадающее меню на веб-странице:

<!---dropdown---> 
<script type="text/javascript"> 
    //<![CDATA[ 
    function showlogin(){ 
     $("#loginbox").animate({"height": "toggle"}, { duration: 800 }); 
     $("#regsiterbox").hide(); 
     $(".login a").css("color", "#bf1e1a"); 
     $(".create-account a").css("color", "#747474"); 
    } 
    function showregister(){ 
     $("#regsiterbox").animate({"height": "toggle"}, { duration: 800 }); 
     $("#loginbox").hide(); 
     $(".create-account a").css("color", "#bf1e1a"); 
     $(".login a").css("color", "#747474"); 
    } 
    //]]> 
</script> 
<!---dropdown---> 

Любая помощь будет оценен по достоинству!

+0

Можете ли вы показать проблему в jsfiddle.net? – Sionnach733

+0

Просьба уточнить, что такое «где-нибудь еще»? Иначе что? Это вне всплывающего окна? –

+0

Да, я имею в виду вне всплывающего окна. – user3292724

ответ

0

попробовать это

$('body').on('click',function(){ 
    if($("#regsiterbox").css('display') != "none"){ 
      $("#regsiterbox").hide(); 
    } 
    else if($("#loginbox").css('display') != "none"){ 
      $("#loginbox").hide(); 
    } 
}); 
1

Добавить класс .modal каждое всплывающего окна у вас есть на странице и добавить следующее. Он будет скрывать любое всплывающее окно с классом .modal при нажатии.

$('body').on('click',function(){ 
    if(!$(this).hasClass('modal')){ 
     $(".modal").hide(); 
    } 
}); 
0

Вы можете определить свое всплывающее окно по классу, я выбрал popup здесь. Этот код скроет элемент класса popup всякий раз, когда клик будет сделан за его пределами. Так что щелчки по окну не закрывают его.

$("body").click(function() { 
    if ($(this).attr("class") != "popup") { 
     $(".popup").hide(); 
    } 
}); 
0
$('body').on('click',function(event){ 
    event.stopPropagation();  
    $(".your_popup").hide(); 
}); 
Смежные вопросы