July 16, 2023
Модальные окна с назначением на любую ссылку
<style>
.hidden {
display:none!important;
}
.modal-card-body .page-container {
max - width: 100% !important;
width: 100% !important;
}
.modal .btn-link, .modal .btn-link:active, .modal .btn-link:hover, .modal .btn-link:link, .modal .btn-link:visited {
width: 100%;
background: var(--block-link-background);
text-decoration: none!important;
border-width: var(--block-link-border-width);
border-color: black!important;
border-style: solid;
color: black!important;
border-radius: var(--block-link-border-radius);
position: relative;
height: auto!important;
white-space: normal;
min-height: 60px;
padding: calc(10px - var(--block-link-border-width-offset));
backdrop-filter: var(--theme-link-backdrop-filter);
-webkit-backdrop-filter: var(--theme-link-backdrop-filter);
display: flex!important;
flex-direction: row;
align-items: center;
text-align: center;
justify-content: center;
cursor: pointer;
box-shadow: var(--block-link-shadow-params) var(--block-link-shadow-color);
}
</style>
<script>
let modalComponent = `<div tabindex="-1" class="modal hidden">
<div class="modal-background"></div>
<div class="animation-content">
<div class="modal-card is-choosing-form is-block-null" can-cancel="outside">
<header class="modal-card-head">
<p class="modal-card-title"></p>
<button class="modal-close is-large" onclick="this.closest('.modal').classList.remove('is-active');this.closest('.modal').classList.add('hidden');"></button></header>
<section class="modal-card-body">
</section>
<footer class="modal-card-foot"></footer>
</div></div></div>`;
let ID=0;
Array.from(document.querySelectorAll('.makeModal')).map((e) => {
ID++
let title = e.textContent;
if (document.querySelector(`[id="${ID}"]`)==null) {
e.closest('.blocks-section').insertAdjacentHTML('afterend',modalComponent);
e.closest('.blocks-section').nextElementSibling.querySelector('.modal-card-body').append(e.closest('.blocks-section'));
e.closest('.modal').setAttribute('id',ID);
document.getElementById(ID).querySelector('.modal-card-title').textContent = title;
}
else {
e.closest('.blocks-section').insertAdjacentElement('afterend', document.querySelector(`[id="${ID}"]`))
}
})
function toggleModal(e) {
document.getElementById(e).classList.add('is-active');
document.getElementById(e).classList.remove('hidden')
}
</script><div class="makeModal hidden">Подробнее </div>
javascript:toggleModal(1)