javascript onclick create (element) div viz всплывающее окно


Я пытаюсь сделать всплывающее окно, которое вызывается при нажатии кнопки, это то, что у меня есть до сих пор.. http://jsfiddle.net/WGPhG/2/

1 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