2016-08-29 2 views
0

У меня возникла проблема с всплывающим диалоговым окном jQuery. Вот код:jQuery popup закрыть кнопку не работает

<a href="#popup_open" class="btn sign-up popup wow fadeInLeft" data-wow-delay="0.4s">CLICK TO OPEN</a> 
<div id="popup_open" style="display:none"> 
    <div class="dialog"> 
     POPUP CONTENT 
     <div class="popup_close">×</div> 
    </div> 
</div> 

и JS:

$('a.popup').popup(); 

Я написал простой скрипт закрытия, но он работает только один раз.

$(document).ready(function() { 
    $('.popup_close').click(function() { 
     $('.popup_back').css('opacity', '0'); 
     $('.popup_cont').css('opacity', '0'); 
    }); 
}); 

Как сделать всплывающее окно закрытым каждый раз?

+0

Когда ваше всплывающее окно открывается во второй раз, эта функция не работает? @damian –

+1

Почему вы не используете всплывающий код библиотеки jQuery, чтобы скрыть это? Я уверен, что у него один встроенный. – epascarello

+0

'$ (" a.popup ") .popup (" close ")' должен закрыть его или '$ ('# popup_open'). Popup ('close)' – depperm

ответ

0

Одним из решений (хотя, может быть, и не лучшим) является добавление этого события нажатия на кнопку закрытия в функции, которая открывает всплывающее окно. Если вы заходите в инструменты разработчика и вручную добавляете событие click к кнопке закрытия после того, как модаль открыт, он работает каждый раз.

Что-то подобное может работать:

$(".popup").click(function() { // Put the correct selector here, this is just a guess 

    // Opens the popup 
    $('a.popup').popup(); 

    // Binds the click function 
    $('.popup_close').click(function() { 
     $('.popup_back').css('opacity', '0'); 
     $('.popup_cont').css('opacity', '0'); 
    }); 
}); 

Там может быть чистое решение, но это быстро и грязно.

+0

Это работает, спасибо! –

Смежные вопросы