javascript onclick create (element) div viz всплывающее окно
Я пытаюсь сделать всплывающее окно, которое вызывается при нажатии кнопки, это то, что у меня есть до сих пор.. http://jsfiddle.net/WGPhG/2/
1 ответ:
Вот скрипка, которая на самом деле делает то, что вы хотите - http://jsfiddle.net/WGPhG/6/
JS
function popUp(){ var popup = document.createElement('div'); popup.className = 'popup'; popup.id = 'test'; var cancel = document.createElement('div'); cancel.className = 'cancel'; cancel.innerHTML = 'close'; cancel.onclick = function (e) { popup.parentNode.removeChild(popup) }; var message = document.createElement('span'); message.innerHTML = "This is a test message"; popup.appendChild(message); popup.appendChild(cancel); document.body.appendChild(popup); }
Примечания
Чтобы задать класс для элемента, вы используете элемент.имя класса вместо элемента.класс. Для обработчика событий onclick в элементе cancel лучше сразу назначить обработчик onclick с анонимной функцией, которая делает то, что вам нужно, как в моем примере выше.
Редактировать (более эффективно Путь)
Это на самом деле намного лучше получения результатов, которые вы хотите, потому что нет никаких накладных расходов, связанных с воссозданием элементов каждый раз, когда всплывающее окно показано. Скрипка - http://jsfiddle.net/WGPhG/7/
CSS
.popup { position:a