Всплывающий блок при клике на кнопку

195
14 декабря 2018, 13:10

Есть кнопка, как сделать, чтобы при клике, по центру экрана высвечивался блок div и при этом фон позади блока становился затемненным?

Answer 1

Вот тут есть много примеров: https://www.w3schools.com/howto/howto_css_modals.asp

// Get the modal 
var modal = document.getElementById('myModal'); 
 
// Get the button that opens the modal 
var btn = document.getElementById("myBtn"); 
 
// Get the <span> element that closes the modal 
var span = document.getElementsByClassName("close")[0]; 
 
// When the user clicks the button, open the modal  
btn.onclick = function() { 
    modal.style.display = "block"; 
} 
 
// When the user clicks on <span> (x), close the modal 
span.onclick = function() { 
    modal.style.display = "none"; 
} 
 
// When the user clicks anywhere outside of the modal, close it 
window.onclick = function(event) { 
    if (event.target == modal) { 
        modal.style.display = "none"; 
    } 
}
/* The Modal (background) */ 
.modal { 
    display: none; /* Hidden by default */ 
    position: fixed; /* Stay in place */ 
    z-index: 1; /* Sit on top */ 
    padding-top: 100px; /* Location of the box */ 
    left: 0; 
    top: 0; 
    width: 100%; /* Full width */ 
    height: 100%; /* Full height */ 
    overflow: auto; /* Enable scroll if needed */ 
    background-color: rgb(0,0,0); /* Fallback color */ 
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */ 
} 
 
/* Modal Content */ 
.modal-content { 
    background-color: #fefefe; 
    margin: auto; 
    padding: 20px; 
    border: 1px solid #888; 
    width: 80%; 
} 
 
/* The Close Button */ 
.close { 
    color: #aaaaaa; 
    float: right; 
    font-size: 28px; 
    font-weight: bold; 
} 
 
.close:hover, 
.close:focus { 
    color: #000; 
    text-decoration: none; 
    cursor: pointer; 
}
<h2>Modal Example</h2> 
 
<!-- Trigger/Open The Modal --> 
<button id="myBtn">Open Modal</button> 
 
<!-- The Modal --> 
<div id="myModal" class="modal"> 
 
  <!-- Modal content --> 
  <div class="modal-content"> 
    <span class="close">&times;</span> 
    <p>Some text in the Modal..</p> 
  </div> 
 
</div>

READ ALSO
Как можно найти открытое окно браузера из другого открытого окна?

Как можно найти открытое окно браузера из другого открытого окна?

Запускаю две странички на разных экранахСтранички с одного домена, в обеих могу дописать все что понадобиться

145
Как определить браузер пользователя?

Как определить браузер пользователя?

$browser не работает в последних версиях

147
Сменить текст при нажатии

Сменить текст при нажатии

Мне надо поменять текст при нажатии, сейчас у меня нет обратного действия, чтоб при нажатии было скрыть, при втором нажатии подробнееЗаранее...

190
Отправка формы с помощью ajax, форма при этом динамически создается на сайте. native JS

Отправка формы с помощью ajax, форма при этом динамически создается на сайте. native JS

Всем доброго дняНе получается у меня реализовать отправку формы через js, форма создается при этом при клике на кнопку

166