браузер не видит функцию $.modal не смотря на то что она есть, ошибка: "Uncaught TypeError: $.modal is not a function"
function _CreateModal(options) {
const modal = document.createElement(tagName: 'div')
modal.classList.add('vmodal')
modal.insertAdjacentHTML(where: 'afterbegin', html: `
<div class = "modal-overlay">
<div class = "modal-window">
<div class = "modal-header">
<span class = "modal-title">
Some title
</span>
<span class = "modal-close">
×
</span>
</div>
<div class = "modal-body">
<p>lorem100</p>
<p>lorem100</p>
</div>
<div class = "modal-footer">
<button>OK</button>
<button>Cansel</button>
</div>
</div>
</div>
`)
document.body.appendChild(modal)
return :modal
}
$.modal = function(options) {
const $modal = _CreateModal(options)
return {
open() {},
close() {},
destroy() {}
}
}
Ответы (2 шт):
Автор решения: Igor
→ Ссылка
Такого синтаксиса -
const modal = document.createElement(tagName: 'div')
в JavaScript нет. А такой -
const modal = document.createElement('div')
есть.
Названия параметров - это подсказки редактора. Aвтор видео https://www.youtube.com/watch?v=FX2fiUvrYP4&t=1631s их не печатает.
Автор решения: frozencoast
→ Ссылка
Как уже писали ранее, у вас несколько синтаксических ошибок. Ниже представлен корректный фрагмент вашего кода:
function _CreateModal(options) {
const modal = document.createElement('div');
modal.classList.add('vmodal');
modal.insertAdjacentHTML('afterbegin', `
<div class="modal-overlay">
<div class="modal-window">
<div class="modal-header">
<span class="modal-title">
Some title
</span>
<span class="modal-close">
×
</span>
</div>
<div class="modal-body">
<p>lorem100</p>
<p>lorem100</p>
</div>
<div class="modal-footer">
<button>OK</button>
<button>Cansel</button>
</div>
</div>
</div>
`);
document.body.appendChild(modal);
return modal;
};
$.modal = function(options) {
const $modal = _CreateModal(options);
return {
open() {},
close() {},
destroy() {}
};
};