[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Pop окно на JS
UnWind
Здравствуйте. На JS мало программирую и в основном за меня делал это другой человек.
Но теперь нужно сделать самому, но у меня есть затруднения, я не знаю как.
В общем хочу сделать так же как на макете. Т.е. при клике на кнопку должно вылетать белое окно.
user posted image
Заранее вас благодарю. sad.gif



Спустя 12 минут, 13 секунд (15.10.2009 - 08:47) glock18 написал(а):
Все с этим на самом деле достаточно банально:
Окно - это див, либо создаваемый заранее, либо генерируемый при открытии окна. Позиционируется как правило абсолютно. Если он создается заранее, то скрывается один из двух способов:
1. display: none;
2. выставление позиции далеко в минус (тыщ десят, например)

при открытии див позиционируется куда надо, и ему ставится display: block, если надо.
вот и все собственно. ну если не говорить о всяких "фишечках" типа "затемнения" (модальное окно).

Спустя 2 минуты, 48 секунд (15.10.2009 - 08:50) UnWind написал(а):
glock18
А как это на JS осуществить ? Я просто как бы с JS знаю лишь как сделать ссылку "Добавить в избранное", "Сделать стартовой" и вызвать window.alert и всё. sad.gif
Как то просто за меня человек добовлял JS код, и я как бы что бы не тормазить учебой в разработке, кодил чисто на PHP. И поэтому вот не знаю как это осуществить. Плз, если не затруднит составь код.

Спустя 34 минуты (15.10.2009 - 09:24) glock18 написал(а):
HTML
<html>
<head>
<script type="text/javascript">
function openPopup(divId, posX, posY) {
var popupEl = document.getElementById(divId);
if (popupEl) {
popupEl.style.top = posY;
popupEl.style.left = posX;
popupEl.style.display = 'block';
}
}

function closePopup(divId) {
var popupEl = document.getElementById(divId);
if (popupEl) {
popupEl.style.display = 'none';
}
}
</script>
<style type="text/css">
.windowPopup {
display: none;
position: absolute;
width: 200px;
height: 200px;
border: 2px solid #00aaff;
background-color: #eeeeee;
}
</style>
</head>
<body>
<a href="http://example.com" onclick="openPopup('mypopup', 300, 300); return false;">Open Popup</a>
<div class="windowPopup" id="mypopup">Popup window<br /><a href="http://example.com" onclick="closePopup('mypopup'); return false;">Close</a></div>
</body>
</html>


UPD: забыл тег закрыть

Спустя 13 минут (15.10.2009 - 09:37) UnWind написал(а):
glock18
Спасибо большое, сейчас попробую.

Спустя 16 минут, 11 секунд (15.10.2009 - 09:53) UnWind написал(а):
glock18

Всё, получилось что хотел. Ещё раз спасибо большое, сейчас проект сдам и буду JS тоже учить)))

Спустя 2 часа, 47 минут, 11 секунд (15.10.2009 - 12:40) Nikitian написал(а):
Для нормальных браузеров вместо position:absolute лучше position:fixed, чтобы не прокручивать всю страницу в поисках этого дива.

Спустя 6 минут, 15 секунд (15.10.2009 - 12:47) glock18 написал(а):
Цитата
Для нормальных браузеров вместо position:absolute лучше position:fixed


если для нормальных да... ну а если и для ишаков 6, то придется позиционировать js'ом. в 7 ишаке fixed работает только в strict mode. конечно, красивее, когда такие вещи делаются одной строкой в цсс, чем 20-ю в жс.

Спустя 13 дней, 5 часов, 9 минут, 26 секунд (28.10.2009 - 18:56) vegasmoscow написал(а):
Здравствуйте, у меня тоже проблема, нужен всплывающий баннер (точно не знаю как это правильно называется), вообщем при загрузке страницы появляется окно с некой информацией. Вот примерно как ЗДЕСЬ. В интернете облазил все, ну ничего похожего не смог найти, все пишут, что всплывающие баннеры - это отстой и только раздражают, я и сам так думал, но вот понадобилось до каждого пользователя донести информацию о смене сайта и реализовать эту идею решили посредством всплывающего баннера.

Всем буду очень признателен за отклики.

Спустя 10 минут, 29 секунд (28.10.2009 - 19:07) glock18 написал(а):
vegasmoscow
этот топик читать кто будет?

Спустя 3 часа, 37 минут, 38 секунд (28.10.2009 - 22:44) vegasmoscow написал(а):
glock18, кто кто - дед пихто! А кто примеры будет сравнивать? Или повылазило?

Спустя 7 минут, 1 секунда (28.10.2009 - 22:51) glock18 написал(а):
Цитата
А кто примеры будет сравнивать?

очевидно, вы

Спустя 5 минут, 42 секунды (28.10.2009 - 22:57) vegasmoscow написал(а):
glock18, ну чтож, давайте пофлудим. Я вот, например, сравнил примеры, а вы, судя по всему, поленились это сделать.

Спустя 16 минут, 51 секунда (28.10.2009 - 23:14) Ded_Mazay написал(а):
А как сделать, чтобы на одной странице несколько окон таких стояло, а то у меня ток одно ставиться(

Спустя 2 часа, 13 минут, 15 секунд (29.10.2009 - 01:27) kirik написал(а):
vegasmoscow
Чего там сравнивать? Идея одна, и тут говорится о том, как ее реализовать:
Цитата (glock18 @ 15.10.2009 - 00:47)
Окно - это див, либо создаваемый заранее, либо генерируемый при открытии окна. Позиционируется как правило абсолютно. Если он создается заранее, то скрывается один из двух способов:
1. display: none;
2. выставление позиции далеко в минус (тыщ десят, например)

при открытии див позиционируется куда надо, и ему ставится display: block, если надо.


Ded_Mazay
Несколько раз повторить операцию wink.gif Ну конечно позиционировать каждый блок по-своему, чтобы не на одном месте стояли.

Спустя 9 часов, 50 минут, 52 секунды (29.10.2009 - 11:18) vegasmoscow написал(а):
kirik, если честно, так и не понял я как это сделать. Насколько я понимаю, это яваскрипт делает. Вобщем вот ЗДЕСЬ я реализовал баннер, который мне нужен, но хотелось бы, чтобы при загрузке он плавно, от самого верхнего края страницы, спускался к ее центру, а не просто появлялся как картинка.

Спустя 8 часов, 54 минуты, 7 секунд (29.10.2009 - 20:12) kirik написал(а):
Цитата (vegasmoscow @ 29.10.2009 - 03:18)
если честно, так и не понял я как это сделать

Ну чтобы выезжала-уезжала, нужно писать эти функции, или просто воспользоваться jQuery (там все довольно просто делается).

Спустя 7 минут, 43 секунды (29.10.2009 - 20:20) Joker написал(а):
glock18
А как сгеерировать див? пробовал записать так
Код

document.write('див');


Дак у меня весь контент страницы перезаписывался..

Спустя 1 минута, 32 секунды (29.10.2009 - 20:21) glock18 написал(а):
documentNode.appendChild

document.createElement

Спустя 4 минуты, 30 секунд (29.10.2009 - 20:26) Joker написал(а):
Цитата (glock18 @ 29.10.2009 - 23:21)
documentNode.appendChild

document.createElement


эт я знаю.. вот код делаю
Код

var body = document.getElementById('body');
var div = document.createElement('div');
body.appendChild(div);


А если мне не извесно заранее ид у тега боди его вообще нет. то как быть?

Спустя 11 минут, 44 секунды (29.10.2009 - 20:38) glock18 написал(а):
мммм... document.getElementsByTagName, document.body (кажется, в ie)

Спустя 12 минут, 44 секунды (29.10.2009 - 20:50) Joker написал(а):
вот так работает в опере и ие и в мозиле.

Код

var bod = document.body;
var div = document.createElement('div');
div.innerHTML = '11111111111111111111111111111111111111111111111111111';
bod.appendChild(div);


_____________
Искусство программирования - заставить компьютер делать всё то, что Вам делать лень!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.