"Всплывающее" окошко
Написал сценарий создания маленького всплывающего окошка. Проверил у себя (FF, Opera, IE, Safari) - все работает. Хотел показать заказчику - он не видит ни в одном из перечисленных.
Посмотреть работу скрипта можно здесь: http://t1gor.ru/test/ Код:
var flag = false; // флаг показывает создано ли окно
function createWindow() { // создает окно если флаг false
if (!flag) {
var body = document.getElementById("body");
var window = document.createElement("div");
window.id = "container";
body.appendChild(window);
formatWindow();
};
flag = true;
}
function formatWindow() { // форматирование созданного окна
var a = document.getElementById("container");
var bar = document.createElement("div");
bar.id = "titleBar";
a.appendChild(bar);
bar.innerHTML += "<img src='title_bar_left.png' alt='' style='position: relative; float: left;' /><span id='title'>Tilte</span><img src='close_button.png' alt='закрыть' id='closeButton' onClick='closeWindow()' />";
a.innerHTML += "<center><img src='110_shl.jpg' alt='110 shl' style='border: solid #000 1px; margin-top: 20px;' /></center>";
a.innerHTML += "<p id='text' align='center' style='margin-bottom: 10px;' >Информация о модели. Информация о модели. Информация о модели. Информация о модели. Информация о модели. Информация о модели. Информация о модели. Информация о модели. Информация о модели. Информация о модели. </p>";
}
function closeWindow() { // уничтожение окна
var node = document.getElementById("container");
var children = node.childNodes;
for (var i=0; i < children.length; ) { var child = children[i]; node.removeChild(child); } // удаление внутренних элементов
var node = document.getElementById("body");
var children = node.childNodes;
for (var i=0; i < children.length; i++) { var child = children[i];
if (child.id == "container") { node.removeChild(child); } // удаление самого контейнера
}
flag = false; // изменения флага для возможности повторного открытия окна
}
Буду рад помощи, если все получится исправить - оплачу консультацию. Заранее спасибо, Игорь |
Хммм, а у заказчика то JavaScript в браузерах хоть включен? O_o
|
Не загружается картинка 110_shl.jpg, соответственно не над чем сделать mouseover, для открытия окошка. Стили тоже не грузятся.
|
Хмм, а у меня в Opera и FF отработало.
При первой загрузке Opera'ой правда не загрузился сам скрипт, после попробовал FF все отработало, запустил еще раз в опере и о чудо тоже отработало. |
Цитата:
Видимо проблема в разных версиях браузеров. Если кто-нибудь знает как выровнять, очень прошу помочь. Повторюсь, наверно, но консультацию оплачу |
у меня Admuncher рубит. В нем есть фильтр банить
Код:
/test/popup.Думаю проблема решится :) |
Спасибо, с окошком вроде разобрался :) теперь возник еще вопрос:
Как корректно для всех браузеров задатт положение и размер этого окна?
var obj = document.getElementById("container");
obj.style.top = "100px;";
obj.style.left = "100px;";
Работает только в FF и Opera. Как получить такой же эффект в IE, Safari и NN? Еще раз заранее спасибо! |
// размеры окна obj.style.width = "100px"; obj.style.height = "100px"; // положение obj.style.position = "absolute" obj.style.top = "100px"; obj.style.left = "100px"; Должно работать во всех браузерах, если указываете абсолютное позиционирование, то положение будет задаваться от левого верхнего угла браузера. Если указываете "relative", то положение будет относительно родителя. |
Спасибо, буду пробовать еще :)
|
| Часовой пояс GMT +3, время: 11:25. |