Forum Webscript.Ru

Программирование => JavaScript & JScript => Тема начата: ast-ross от 29 Сентября 2006, 15:01:13

Название: Самозакрывающийся popup
Отправлено: ast-ross от 29 Сентября 2006, 15:01:13
Народ помогите! Как сделать чтобы при клике на ссылку открывалось маленькое окно по центру экрана с надписью "Пожалуйста дождитесь ответа сервера" и само закрывалось через 3 секунды, типа LINK
И еще желательно что бы окно было вообще просто слоем т.е. по идее в функции popup() должно слой должен стать видимым на 3 секунды
В java script я полный дуб!
Название: Самозакрывающийся popup
Отправлено: html_coder от 29 Сентября 2006, 17:00:12
Вот тебе рабочий набросок, дальше крути сам как хочешь




Ссылка
Пожалуйста дождитесь ответа сервера...






Чтобы не быть совсем дубом загляни сюда window.setTimeout (http://developer.mozilla.org/en/docs/DOM:window.setTimeout)

сюда http://developer.mozilla.org/en/docs/DOM (http://developer.mozilla.org/en/docs/DOM)

и наконец сюда http://developer.mozilla.org/en/docs/JavaScript (http://developer.mozilla.org/en/docs/JavaScript)
Название: Самозакрывающийся popup
Отправлено: hanslinger от 29 Сентября 2006, 17:35:40
[OFF]html_coder
А еще бы handler таймаута убить… :-)[/OFF]
Название: Самозакрывающийся popup
Отправлено: html_coder от 29 Сентября 2006, 17:48:13
hanslinger
Поясни, а лучше брось кусок кода! )
Название: Самозакрывающийся popup
Отправлено: hanslinger от 29 Сентября 2006, 18:46:14
window.clearTimeout() (http://developer.mozilla.org/en/docs/DOM:window.clearTimeout)
Название: Самозакрывающийся popup
Отправлено: ast-ross от 04 Октября 2006, 07:11:59
html_coder, спасибо за код!

Вот что у меня получилось (немного изменил, теперь закрываеться по событию onunload() мне так удобнее...):











Загрузка...

LINK




Я убрал из кода: var HTMLDivElement = document.getElementById(\'popup\');
Может зря? Просто подумал что эта переменная будет лишней.

Теперь основной вопрос!!!
Все работает замечательно и в файрфоксе и в осле, слой позиционируеться ровно по центру экрана, однако если список ссылок большой и его прокручивать то при клике на ссылке слой с надписью загрузка остаеться на верху. Вопрос: как привезать координаты Y курсора для слоя, т.е. что бы слой позиционироваля по высоте на уровне ссылки.
Что я думаю по этому поводу: во первых убрать из стилей 2 строки:
TOP: 50%;
MARGIN-TOP: -50px;
Вот их и надо как то динамически подставлять в функции show_wait_answer(). Может так: OnClick="show_wait_answer(this,event);"
А вот как теперь в функции это все реализовать?
Название: Самозакрывающийся popup
Отправлено: ast-ross от 04 Октября 2006, 13:02:37
Вот так заработало под ослом файрфоксом и оперой, покритикуйте может где что не так, на жабе тока тока писать учусь...










Загрузка...

LINK




Подскажите может можно более грациозно это сделать и затолкать все в одну функцию show_wait_answer...