Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.12.2018, 00:15
Аватар для renton88
Новичок на форуме
Отправить личное сообщение для renton88 Посмотреть профиль Найти все сообщения от renton88
 
Регистрация: 26.07.2016
Сообщений: 6

Разный текст в модальных окнах
Всем привет (и с наступающим)!

Такой вопрос: есть несколько элементов разбросанных по странице вида:

<span class="popup" id="type1">Кнопка</span>

<div class="popup" id="type2">Еще кнопка</div>

<button class="popup" id="type3">Тоже элемент</button>

<div class="modal">
<div class="first">first block</div>
<div class="second">second block</div>
<div class="third">third block</div>
</div>


По кликам на любой из этих элементов открывается модальное окошко.
var popup = document.querySelectorAll('.popup'),
			modal = document.querySelector('.modal'),
			modalBtn = document.getElementById('btn-send'),
			modalClose = document.querySelector('.modal-close');
	for(i=0; i<popup.length; i++) {
		popup[i].addEventListener("click", function() {
			modal.classList.add('active');
		});
	};


	modalClose.addEventListener("click", function() {
		modal.classList.remove('active');
	});


Вопрос в следующем: как отследить какой был id у кликнутого элемента .popup, чтобы исходя из этого заменить содержимое некоторых тегов внутри модального окна, к примеру через innerHTML с

<div class="first">first block</div>


на

<div class="first">new text</div>


Надеюсь не слишком путано изложил
Гран мерси заранее всем добрым людям.
Ответить с цитированием
  #2 (permalink)  
Старый 28.12.2018, 00:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

renton88,
document.addEventListener("DOMContentLoaded", function() {
    var popup = document.querySelectorAll(".popup"),
        modal = document.querySelector(".modal"),
        modalBtn = document.getElementById("btn-send"),
        modalClose = document.querySelector(".modal-close");
    [].forEach.call(popup, function(node, i) {
        node.addEventListener("click", function() {
            var html = "first block";
            if (i == 1) html = "new text";
            document.querySelector(".first").innerHTML = html;
            modal.classList.add("active")
        })
    });
    modalClose.addEventListener("click", function() {
        modal.classList.remove("active")
    })
});
Ответить с цитированием
  #3 (permalink)  
Старый 28.12.2018, 00:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

renton88,
document.addEventListener("DOMContentLoaded", function() {
    var popup = document.querySelectorAll(".popup"),
        modal = document.querySelector(".modal"),
        modalBtn = document.getElementById("btn-send"),
        modalClose = document.querySelector(".modal-close");
    [].forEach.call(popup, function(node, i) {
        node.addEventListener("click", function() {
            var html = "first block";
            if (node.id == "type2") html = "new text";
            document.querySelector(".first").innerHTML = html;
            modal.classList.add("active")
        })
    });
    modalClose.addEventListener("click", function() {
        modal.classList.remove("active")
    })
});
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Раскрывающийся список с объемными текстами morzer Общие вопросы Javascript 4 11.07.2016 14:54
проблема со scroll Chrome Элементы интерфейса 2 21.10.2013 14:46
прогкрутка к якорям cOAPerator Общие вопросы Javascript 20 27.08.2013 03:30
Выравнять три дива в одной строке debugx (X)HTML/CSS 9 06.10.2011 12:03