Я пытаюсь создать модальный vanilla JavaScript , который может настраиваться пользователем при создании экземпляра из файла HTML (или файла JS).Однако, когда дело доходит до работы с функцией close () для закрытия модального режима, вместо того, чтобы закрывать ОДИН модальный за раз, используя кнопку закрытия, кнопка закрытия FIRST-модального режима закрывает ВСЕ модальные страницы.Я не уверен, что я делаю не так ...
Я исследовал другие подобные ванильные JavaScript, настраиваемые модальные библиотеки, но большинство из них используют либо jQuery, некоторые фреймворки, либо содержат много сложностей.что я не знаком с (я все еще начинающий).Я исследовал GitHub, CodePen, Google и здесь;но мне еще предстоит найти решение, которое бы удовлетворяло тому, что мне нужно.
Поскольку код довольно длинный, я бы посоветовал вам перейти непосредственно в мою учетную запись CodePen, где вы можете получить полный код.
https://codepen.io/jdriviere/pen/zYOyJvv?editors=0011
Но вот моя функция close ():
Modal.prototype.close = function() {
let modal = document.getElementById(this.options.id);
let modalBody = modal.children[0];
// Delete elements from Modal Body
for (let i = 0; i < modalBody.children.length; i++) {
modalBody.removeChild(modalBody.children[i]);
} // End of LOOP
// Delete Modal Body from Modal
modal.removeChild(modalBody);
// Delete Modal from DOM
modal.style.display = 'none';
document.body.removeChild(modal);
return this;
};
Я ожидаю, что код закроет ОДИН модальный за раз, и предпочтительно модал, который имеетправильный идентификатор (который должен быть назначен пользователем или по умолчанию иметь идентификатор «NoID»).Вместо этого, если я закрываю последующие модалы, он закрывает их;но если я закрою ПЕРВУЮ, она закроет ВСЕ из них.Кроме того, есть ли способ init () модальные функциональные возможности, как только вы создаете модальный экземпляр (я ненавижу инициировать их вручную)?Если это так, пожалуйста, включите ваше решение здесь, если не так много.
Занимался этим уже довольно давно.Ваша помощь будет принята с благодарностью.
Спасибо.:)