Не работает всплывающее окно

378
21 сентября 2017, 15:52

Делаю модальное окно на jquery, но что-то оно не работает...всплывающее окно со словом "Hello" появляется с самого начала и не исчезает при нажатии на кнопку Click... консоль браузера ошибок не обнаружила

my_script.js

$('.show_popup').click(function () {
    var popup_id = $('#' + $(this).attr("rel"));
    $(popup_id).show();
    $('.overlay_popup').show();
})
$('.overlay_popup').click(function () {
    $('.overlay_popup, .popup').hide();
})

index.php:

<!doctype html>
<html>
<head> 
    <meta charset="utf-8">
    <link rel="stylesheet" href="my_style.css">
    <script
        src="http://code.jquery.com/jquery-1.12.4.min.js"
        integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ="
        crossorigin="anonymous"></script>
    <script src="my_script.js"></script>
</head>
<body>
    <div class="content">
        <button class="show_popup blue_btn" rel="popup1">Click</button>
    </div>
    <div class="overlay_popup"></div>
    <div class="popup" id="popup1">
       <div class="object">
          <h1>Hello!</h1>      
       </div>
    </div>
</body>
</html>
Answer 1

Нужно прописать необходимый стили, чтобы изначально скрыть .popup и .overlay_popup:

$('.show_popup').click(function() { 
  var popup_id = $('#' + $(this).attr("rel")); 
  $(popup_id).show(); 
  $('.overlay_popup').show(); 
}) 
$('.overlay_popup').click(function() { 
  $('.overlay_popup, .popup').hide(); 
})
.popup, 
.overlay_popup { 
  display: none; 
} 
 
.overlay_popup { 
  position: fixed; 
  left: 0px; 
  top: 0px; 
  right: 0px; 
  bottom: 0px; 
  z-index: 2; 
  background: rgba(0, 0, 0, 0.5); 
} 
 
.popup { 
  position: fixed; 
  z-index: 3; 
  left: 50%; 
  top: 50%; 
  transform: translate(-50%, -50%); 
  max-width: 200px; 
  padding: 20px; 
  background: #fff; 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<div class="content"> 
  <button class="show_popup blue_btn" rel="popup1">Click</button> 
</div> 
 
<div class="overlay_popup"></div> 
 
<div class="popup" id="popup1"> 
  <div class="object"> 
    <h1>Hello!</h1> 
  </div> 
</div>

READ ALSO
jQuery fadeIn fadeOut и его влияние на SEO

jQuery fadeIn fadeOut и его влияние на SEO

Например, если взять такой простой код на jQuery:

232
JS Отключить в select 2 значение выбранное в select 1 и наоборот

JS Отключить в select 2 значение выбранное в select 1 и наоборот

Есть два списка (с мультивыбором) разной направленности но с одинаковым содержимым, если пользователь выбирает что-то в одном, то в другом...

290
Как проверить поле на заполненность?

Как проверить поле на заполненность?

Имеется форма, нужно проверить ее на заполненность полейКнопка отправки блокируется пока не будут заполнены все поля

296
Почему не устанавливается phpmyadmin до конца?

Почему не устанавливается phpmyadmin до конца?

Начинаю устанавливать phpmyadmin

389