Не выполняется код обработчика события
Не открывается модальное окно, ошибку не выдаёт, просто нет реакции при нажатии на кнопку
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8"> <title>Практика Javascript</title> <link href="css/style.css" type="text/css" rel="stylesheet" /> </head> <body onload="fun3(),fun4(),fun5(),fun6()"> <div id ="lesson_6" class="lessons"> <div class="iframe"><iframe width="760" height="515" src="https://www.youtube.com/embed/R2Es_mbSva0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe></div> <button id="modalw">Open Modal</button> <div id="myModal" class="modal"> <div class="modalContent"> <span class="close">×</span> <p>Modal window</p> </div> </div> </div> </div> </div> </div> <script type="text/javascript" src="js.js"></script> </body> </html> var modal = document.getElementById("myModal"); btn = document.getElementById('modalw'); span = document.getElementsByClassName("close")[0]; btn.onclick = function () { modal.style.display = "block"; } span.onclick = function () { modal.style.display = "none"; } window.onclick = function (event) { if (event.target == modal) { modal.style.display = "none"; } } Как исправить? |
Bomberman,
Он у тебя должен появляться, просто ты этого не замечаешь, сделай ему стайл заметный, что-то типо <div id="myModal" style="width:100px; height:100px ; background-color:red " > чтобы мог отслеживать появление |
В CSS указаны свойства всех 3 элементов, проверял наличие путем удаление display:none, окно есть.
Код:
.modal{ |
Bomberman,
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8"> <title>Практика Javascript</title> <style type="text/css"> .modal{ display: none; position: fixed; z-index: 1; left: 0; top:0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0,0,0,0.8); } .modalContent{ background-color: #fefefe; margin: 15% auto; padding: 20px; border:1px solid #888; width: 80%; color: black; text-align: center; } .close{ color:#aaa; float: right; font-size: 28px; font-weight: bold; } </style> </head> <body> <div id ="lesson_6" class="lessons"> <button id="modalw">Open Modal</button> <div id="myModal" class="modal"> <div class="modalContent"> <span class="close">×</span> <p>Modal window</p> </div> </div> </div> <script> var modal = document.getElementById("myModal"); btn = document.getElementById('modalw'); span = document.getElementsByClassName("close")[0]; btn.onclick = function () { modal.style.display = "block"; } span.onclick = function () { modal.style.display = "none"; } window.onclick = function (event) { if (event.target == modal) { modal.style.display = "none"; } } </script> </body> </html> |
Нашёл нерабочий код выше, без него работает, спасибо
|
Часовой пояс GMT +3, время: 13:53. |