Я воспроизвел некоторые js (которые я использую на своем сайте) и поместил их в коде, и все работает как положено, но я бы хотел, чтобы всплывающее окно закрывалось не только тогда, когда пользователь нажимает на «X» (который теперь), но также щелкает за пределами основной области содержимого (.lion .wrap).
Заранее большое спасибо!
Jorie
Я нашел это онлайн: https://www.w3schools.com/w3css/tryit.asp?filename=tryw3css_modal_close - он работает именно так, как мне хотелось бы, однако я пытался включить этот код в js, который я использую, и просто не имеет навыков, необходимых для его получения. работать. Я перепробовал все и подумал, что, может быть, кто-то здесь может мне помочь!
https://codepen.io/rjhodges/pen/LopoJp
var body = document.body,
lionoverlay = document.querySelector('.lion'),
lionoverlayBtts = document.querySelectorAll('button[class$="lion"]');
[].forEach.call(lionoverlayBtts, function(btt) {
btt.addEventListener('click', function() {
/* Detect the button class name */
var lionoverlayOpen = this.className === 'open-lion';
/* Toggle the aria-hidden state on the overlay and the
no-scroll class on the body */
lionoverlay.setAttribute('aria-hidden', !lionoverlayOpen);
body.classList.toggle('noscroll', lionoverlayOpen);
/* On some mobile browser when the overlay was previously
opened and scrolled, if you open it again it doesn't
reset its scrollTop property after the fadeout */
setTimeout(function() {
lionoverlay.scrollTop = 0; }, 1000)
}, false);
});
Таким образом, как показывает кодовая ручка, окно закрывается, как и ожидалось, при нажатии на 'X', но я хотел бы, чтобы оно также закрывалось, когда пользователь щелкает за пределами основной области содержимого (.lion .wrap)