Здравствуйте!
Дано такое модальное окно: http://jsbin.com/nolohehige/1/edit?html,css,js,output
"Ссылка 1" - работает.
Задача 1: сделать открытие "Ссылка 1" с двух кнопок.
Задача 2: сделать второе модальное окно на странице – "Ссылка 2" (открытие также с 2 кнопок).
Насколько понимаю, нужно выбирать не по id, а по классу. А в кнопке передавать параметр, по которому определять, которое окно должно открываться. Но как это сделать - не хватает знаний.
Друзья, подскажите пожалуйста.
JavaScript
Поправить модальное окно на javascript
Брррр... слишком уж усложняете такую простую задачу.
Достаточно data-атрибут кнопке присвоить (с айди блока), и с ним работать: http://jsbin.com/reyexenavu/edit?js,output
Достаточно data-атрибут кнопке присвоить (с айди блока), и с ним работать: http://jsbin.com/reyexenavu/edit?js,output
Владимир Пантюхин
Таки да, это называется писать код методом тыка... Ярослав, спасибо Вам! То что надо.
Четно говоря чёрт ногу сломит что ты написал пришлось слегка подправить HTML CSS нетрогал остался неизменный скрипт переписать пришлось заново А вообще если ты хочешь чтоб кнопки выполняли одни и те же действия давай им просто одинаковые id так их проще обрабатывать их будет
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
<style>
.modal-window-js {
width: 800px;
max-width: 100%;
height: 600px;
max-height: 100%;
position: fixed;
z-index: 100;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
background: #fff;}
.modal-window-js,.modal-overlay,.closed {display: none;}
.modal-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 50;
background: rgba(0, 0, 0, 0.6);}
.opened {display: block}
</style>
</head>
<body>
<!--1 окно-->
<div id='win1' style="display: none">
<div class="modal-overlay opened closed" id="modal-overlay"></div>
<div class="modal-window-js opened" id="modal-window-js">
Текст – 1 модальное окно
<button class="close-button" id="close-button">Закрыть</button>
</div>
</div>
<!--Показать 1 окно-->
<button id="show-modal-botton" class="show-modal-bottom">Ссылка 1</button>
<button id="show-modal-botton-copy" class="show-modal-bottom2">Ссылка 1 вторая ссылка</button>
<br><br>
<!--2 окно-->
<div id='win2' style="display: none">
<div class="modal-overlay opened closed" id="modal-overlay2"></div>
<div class="modal-window-js opened" id="modal-window-js2">
Текст – 2 модальное окно
<button class="close-button" id="close-button">Закрыть</button>
</div>
</div>
<!--Показать 2 окно-->
<button id="show-modal-botton2" class="show-modal-bottom">Ссылка 2</button>
<button id="show-modal-botton2-copy" class="show-modal-bottom2">Ссылка 2 вторая ссылка</button>
<script>
onclick=function(){
cunt=arguments[0].target.id;
if(/^(show-modal-botton|show-modal-botton-copy)$/.test(cunt)) {//1 и 1_ кнопка
win1.style.display='block';
}
if(/^(show-modal-botton2|show-modal-botton2-copy)$/.test(cunt)) {//2 и 2_ кнопка
win2.style.display='block';
}
if(/^close-button$/.test(cunt)) {//Закрытие
if(win1.style.display==='block')win1.style.display='none';
if(win2.style.display==='block')win2.style.display='none';
}
}
</script>
</body>
</html>
⚤
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
<style>
.modal-window-js {
width: 800px;
max-width: 100%;
height: 600px;
max-height: 100%;
position: fixed;
z-index: 100;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
background: #fff;}
.modal-window-js,.modal-overlay,.closed {display: none;}
.modal-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 50;
background: rgba(0, 0, 0, 0.6);}
.opened {display: block}
</style>
</head>
<body>
<!--1 окно-->
<div id='win1' style="display: none">
<div class="modal-overlay opened closed" id="modal-overlay"></div>
<div class="modal-window-js opened" id="modal-window-js">
Текст – 1 модальное окно
<button class="close-button" id="close-button">Закрыть</button>
</div>
</div>
<!--Показать 1 окно-->
<button id="show-modal-botton" class="show-modal-bottom">Ссылка 1</button>
<button id="show-modal-botton-copy" class="show-modal-bottom2">Ссылка 1 вторая ссылка</button>
<br><br>
<!--2 окно-->
<div id='win2' style="display: none">
<div class="modal-overlay opened closed" id="modal-overlay2"></div>
<div class="modal-window-js opened" id="modal-window-js2">
Текст – 2 модальное окно
<button class="close-button" id="close-button">Закрыть</button>
</div>
</div>
<!--Показать 2 окно-->
<button id="show-modal-botton2" class="show-modal-bottom">Ссылка 2</button>
<button id="show-modal-botton2-copy" class="show-modal-bottom2">Ссылка 2 вторая ссылка</button>
<script>
onclick=function(){
cunt=arguments[0].target.id;
if(/^(show-modal-botton|show-modal-botton-copy)$/.test(cunt)) {//1 и 1_ кнопка
win1.style.display='block';
}
if(/^(show-modal-botton2|show-modal-botton2-copy)$/.test(cunt)) {//2 и 2_ кнопка
win2.style.display='block';
}
if(/^close-button$/.test(cunt)) {//Закрытие
if(win1.style.display==='block')win1.style.display='none';
if(win2.style.display==='block')win2.style.display='none';
}
}
</script>
</body>
</html>
⚤
Владимир Пантюхин
Одинаковые id я из-за проблем с валидацией не хотел использовать. Ваш код отлично подходит! Спасибо большое!
Похожие вопросы
- Есть ли аналоги JavaScript?
- С чего начать учить JavaScript?
- Подскажите книги для изучения javascript? Хочу начать изучать веб программирование javascript подойтет для начала?
- Какой программный код на языке JavaScript необходимо указать чтобы появилось окно в котором можно писать?
- Зачем нужен prototype в JavaScript?
- Тяжело ли выучить JavaScript?
- Как создать квадрат через JavaScript?
- Смотрел я тут учебный курс Евгения Попова по javascript. Удивил он (Попов) в паре мест...
- Имеет ли смысл изучать JavaScript если я полный ноль в веб программировании?
- Как установить JavaScript на ноутбук Asus ?