Возник такой вопрос. Возможно ли последовательно открывать разные модальные окна кликом по одной ссылке? Имеется 3 окна и 3 ссылки, нужно, чтобы эти окна открывались одно за другим, каждый раз после клика по ОДНОЙ И ТОЙ ЖЕ ССЫЛКЕ? Подобное вообще возможно сделать?
<a href="https://searchengines.guru/ru/forum/#openModal-1">Открыть первое модальное окно</a> -- <a href="#openModal-2">Открыть второе модальное окно</a> -- <a href="#openModal-3">Открыть третье модальное окно</a><!-- первое окно --><div id="openModal-1" class="modal"><div class="modal-dialog"><div class="modal-content"><div class="modal-header"><h3 class="modal-title">Модальное окно 1</h3><a href="#close" title="Close" class="close">×</a></div><div class="modal-body">
Это - первое модальное окно. Добро пожаловать!
</div></div></div></div><!-- второе окно --><div id="openModal-2" class="modal"><div class="modal-dialog"><div class="modal-content"><div class="modal-header"><h3 class="modal-title">Модальное окно 2</h3><a href="#close" title="Close" class="close">×</a></div><div class="modal-body">
Это - второе модальное окно. Добро пожаловать!
</div></div></div></div><!-- третье окно --><div id="openModal-3" class="modal"><div class="modal-dialog"><div class="modal-content"><div class="modal-header"><h3 class="modal-title">Модальное окно 3</h3><a href="#close" title="Close" class="close">×</a></div><div class="modal-body">
Это - третье модальное окно. Добро пожаловать!
</div></div></div></div>
document.addEventListener("DOMContentLoaded", function () {
var scrollbar = document.body.clientWidth - window.innerWidth + 'px';
console.log(scrollbar);
document.querySelector('[href="https://searchengines.guru/ru/forum/#openModal-1"]').addEventListener('click', function () {
document.body.style.overflow = 'hidden';
document.querySelector("https://searchengines.guru/ru/forum/#openModal-1").style.marginLeft = scrollbar;
});
document.querySelector('[href="#openModal-2"]').addEventListener('click', function () {
document.body.style.overflow = 'hidden';
document.querySelector('#openModal-2').style.marginLeft = scrollbar;
});
document.querySelector('[href="#openModal-3"]').addEventListener('click', function () {
document.body.style.overflow = 'hidden';
document.querySelector('#openModal-3').style.marginLeft = scrollbar;
});
document.querySelector('[href="#close"]').addEventListener('click', function () {
document.body.style.overflow = 'visible';
document.querySelector("https://searchengines.guru/ru/forum/#openModal-1").style.marginLeft="0px";
document.querySelector('#openModal-2').style.marginLeft="0px";
document.querySelector('#openModal-3').style.marginLeft="0px";
});
});
Если отвечать на поставленный вопрос — то да, можно.
Если кратко — введите счётчик открытых окон. При клике на ссылку открывайте окно текущего счетчика — первое, второе или какое у вас и увеличивайте счётчик на единицу. При следующем клике у вас счётчик будет уже с другим значением — и откроет другое окно.
silicoid
Дикий пионер, плюсую. Это самый простой вариант
делаем что-то вроде w = w+1; порядковый номер открываемого окна = Math.floor( w / общее кол-во окон ); тогда можно обойтись без if
в идеале еще хранить в куках id последнего открытого окна, чтоб при релоаде не начинать всё сначала
Digistive
Возник такой вопрос. Возможно ли последовательно открывать разные модальные окна кликом по одной ссылке? Имеется 3 окна и 3 ссылки, нужно, чтобы эти окна открывались одно за другим, каждый раз после клика по ОДНОЙ И ТОЙ ЖЕ ССЫЛКЕ? Подобное вообще возможно сделать?
Дикий пионер
Если отвечать на поставленный вопрос — то да, можно.
Если кратко — введите счётчик открытых окон. При клике на ссылку открывайте окно текущего счетчика — первое, второе или какое у вас и увеличивайте счётчик на единицу. При следующем клике у вас счётчик будет уже с другим значением — и откроет другое окно.
silicoid
Дикий пионер, плюсую. Это самый простой вариант
делаем что-то вроде
w = w+1;
порядковый номер открываемого окна = Math.floor( w / общее кол-во окон );
тогда можно обойтись без if
в идеале еще хранить в куках id последнего открытого окна, чтоб при релоаде не начинать всё сначала