Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Вёрстка веб-сайтов > PopUp-окно


Автор: Lirik 30.7.2005, 17:07
На моем сайте мне потребовалось вызывать PopUp-окна, делаю это так:

<a href="" onClick="window.open('/pop.htm','windowname','width=700 height=500 left=100 top=50 scrollbars=yes')"> Текст ссылки </a>

Проблема заключается в том, что после вызова PopUp-окна, сама страничка скорее всего перезагружается (по крайней мере переходит в свое начало).
Как я понимаю, происходит это из-за того, что /<a href="" / пытается загрузить незаданную страницу, и по этому грузит себя... smile
Мне нужно, чтобы страница оставалась на месте, но чтобы для вызова окна использовались именно текстовые ссылки (с другими элементами onClick- работает без проблем).

Может кто поможет добрым советом? За ранее благодарен!


Автор: PARROT 30.7.2005, 17:41
Вопрос в яваскрипт.
Код

<a href="javascript:window.open('index.htm',
'example','scrollbars,resizable,width=500,height=450');void(0);">
Открыть окно</a>

Автор: dm9 30.7.2005, 20:11
А грамотнее так:

Код

<a href="#" onClick="window.open('/pop.htm','windowname','width=700 height=500 left=100 top=50 scrollbars=yes'); return false;"> Текст ссылки </a>


В этом случае в ИЕ не остановится GIF-анимация после нажатия на такую ссылку.

PS Кажется, вся эта лабуда: width=700 height=500 left=100 top=50 scrollbars=yes должна писаться через запятую...

Автор: Lirik 1.8.2005, 14:22
Спасибо большое!
Оба варианта работают. Мне более подходит 2-й (вариант dm9). Единственно, что мне было-бы совсем в тему, если return false; можно было внести в саму Java функцию. Пытаюсь делать так:
Цитата



<script language="JavaScript">
<!--

function Pop()
        {
        window.open("/pop.htm","windowname","width=700 height=500 left=100 top=50 scrollbars=yes");
      return false;
        }
--></script>
.............................

<a href="#" onClick="Pop();">Текст ссылки</a>



не получается.
Вся загвоздка в том, что у меня довольно-таки большая MySQL база (текст) в которой в нужных местах находятся ссылки (на самом-то деле функция "Pop" с параметрами в зависимости от которых вызывается то или иное PopUp окно) ссылки выглядят так : <a href="#" onClick="Pop();">Текст ссылки</a>. Если есть возможность не меняя содержимого базы, а изменив только сам Java скрипт справиться с этой бедой, то я буду очень рад, а если нет smile то придется перешерстить ею (Базу) всю... Ой как не хочется...

Автор: dm9 1.8.2005, 14:49
Цитата(Lirik @ 1.8.2005, 15:22)
Java

JavaScript!!! Java - это другой язык.

Цитата(Lirik @ 1.8.2005, 15:22)
не получается

Тебе надо в onClick return false вызывать, а не в функции...

Цитата(Lirik @ 1.8.2005, 15:22)
<script language="JavaScript">
<!--

function Pop() {
    window.open("/pop.htm","windowname","width=700 height=500 left=100 top=50 scrollbars=yes");
    return false;
}
--></script>
.............................

<a href="#" onClick="return Pop();">Текст ссылки</a>


Так правильно. Ф-ция возвращает false, и ты этот false отдаёшь ссылке, запрещая ей кликаться.

Автор: Lirik 1.8.2005, 15:25
Заработала! smile smile smile smile
А Базе я < onClick=" > на < onClick="return > автоматом поменяю!!!
Спасибо!

Автор: liliana2 23.5.2008, 12:35
 а кто следом подскажет как сделать кнопочку закрытия такого окна?

Автор: bars80080 23.5.2008, 12:42
если не устраивает крестик в правом верхнем углу или нужно программное событие, то достаточно повесить self.close() куда угодно

Код

<input type="button" value="кнопка закрытия окна" onclick="self.close();" />

Автор: liliana2 23.5.2008, 12:45
спасибо, только почему то все равно не закрывается :-( smile 

Автор: bars80080 23.5.2008, 13:20
почему?

parent.html
Код
<input type="button" onclick="window.open('popup.html', 'qw');" />

popup.html
Код
<input type="button" onclick="self.close();" />


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)