Модальное окно на чистом javascript

Модальное окно на чистом javascript

Стенограмма видео

Верстка:

<span onclick="openWin();">Заказать звонок</span>
<div class="modal">
   <h1>Заказать звонок</h1>
   <form>
       <input type="text" placeholder="Ваше имя"><br>
       <input type="text" placeholder="Ваш телефон"><br>
       <input type="submit" value="Отправить">
    </form>>
</div>

Стили:

body {padding: 0; margin: 0;}
span {cursor: pointer}
.modal {position: absolute; width: 300px; margin-left: -150px; left: 50%; top: -100%; padding: 20px; background: #fff; border: 1px solid #333; z-index: 9999; transition: all 0.5s ease-in;}
.overflow {width: 100%; height: 100%; z-index: 9998; background: rgba(0,0,0,0.7); position: absolute; top: 0;}

Скрипт js:

var modal = document.querySelector('.modal');
var overflow = document.createElement('div');
    function openWin() {
      overflow.className = "overflow";
      document.body.appendChild(overflow);
var height = modal.offsetHeight;
modal.style.marginTop = - height / 2 + "px";
modal.style.top = "50%"; } if (!Element.prototype.remove) {
Element.prototype.remove = function remove() {
if (this.parentNode) {
this.parentNode.removeChild(this);
}
};
} overflow.onclick = function () {        modal.style.top = "-100%";       overflow.remove(); }


bitrixone © 2024