Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.08.2008, 09:49   #1
Andr180nag
Пользователь
 
Регистрация: 10.07.2008
Сообщений: 27
По умолчанию PopUp. хотел написать для себя, и вот на что наткнулся..

Посмотрите плз, уважаемые программеры, помогите начинающему ))
Функция должна выводить подсказку
с заданными параметрами при наведении мышки на текст, после этого с задержкой (setTimeout) закрывать ее.
Я понимаю, что в интернете наверное миллион уже готовых таких тем, но хочу сам )
Вопрос между строк в самом скрипте :
Код HTML:

<html>
<head>
<script>
function MyPopup(border_p,color_p,background_p,str_p,left_,top_,id_){ 
// Параметры MyPopup(рамка,цвет текста,цвет фона,надпись,позиция слева и сверху, айди в конце.)
// P.S.ай ди понадобится, чтобы в дальнейшем выводить подсказку, привязывая ее к документу, а не просто в document.body. 
var mypopup=window.createPopup();
bodyPopup=mypopup.document.body;
bodyPopup.innerHTML=str_p;
bodyPopup.style.color=color_p;
bodyPopup.style.background=background_p;
bodyPopup.style.border=border_p;
mypopup.show(left_,top_,str_p.length*8,20,document.body);

}
// 
setTimeout('mypopup.hide()',2000); // ????? закрыть окно можно так. 
// за пределами функции естественно, браузер не знает что такое mypopup. 
// Вопрос : как сделать так, чтобы mypopup имел место и за пределами функции 
</script>
</head>
<body>
<!-- прописываем стиль в функции которую хотим осуществить. Функция должна выводить подсказку 
с заданными параметрами при наведении мышки на текст, после этого с задержкой (setTimeout) закрывать ее-->
<p id="pop_test" onmouseover="MyPopup('1px solid black','black','yellow','A test','10','15','pop_test')"> A text</p>
</body>

</html>
Спасибо заранее ! )

Последний раз редактировалось Andr180nag; 07.08.2008 в 09:51.
Andr180nag вне форума Ответить с цитированием
Старый 07.08.2008, 20:58   #2
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Убери "var" из функции.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 08.08.2008, 09:16   #3
Andr180nag
Пользователь
 
Регистрация: 10.07.2008
Сообщений: 27
По умолчанию

угу. помогло, спасибо !
Andr180nag вне форума Ответить с цитированием
Старый 08.08.2008, 12:24   #4
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Ну я ж надеюсь ты прочитал про "var" теперь? И знаешь для чего оно нужно? А то тут часто помогаешь людям, а они даже не заботятся о том, чтобы понять как им помогли.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 08.08.2008, 15:14   #5
Andr180nag
Пользователь
 
Регистрация: 10.07.2008
Сообщений: 27
По умолчанию

на сколько я понял, я var-ом создал локальную переменную, а отменив его, сделал глобальную, читаемую во всем контексте скрипта, а не только в контексте функции.. правильно ? )

программы невозможно реализовывать, без абсолютного понимания хотя-бы одной функции, которая написана, иначе рано или поздно, происходят такие косяки, как у меня. пришлось открыть справочник после этого совета )

Код HTML:
<html>
<head>
<script>
function MyPopup(border_p,color_p,background_p,str_p,left_,top_,del_,id_){ 
// Параметры MyPopup(рамка,цвет текста,цвет фона,надпись,позиция слева и сверху, задержка в миллисекундах, айди элемента в конце.(8 эл-тов всего)
// P.S.ай ди понадобится, чтобы в дальнейшем выводить подсказку, привязывая ее к документу, а не просто в document.body. 

mypopup=window.createPopup();
bodyPopup=mypopup.document.body;
bodyPopup.innerHTML=str_p;
bodyPopup.style.color=color_p;
bodyPopup.style.background=background_p;
bodyPopup.style.border=border_p;
mypopup.show(left_,top_,str_p.length*8,20,document.getElementById(id_));
setTimeout('mypopup.hide()',del_);
}

</script>
</head>
<body>
<!-- прописываем стиль в функции которую хотим осуществить. Функция должна выводить подсказку и зарывать ее через заданный интервал времени
-->
<p id="pop_test" onmouseover="MyPopup('1px solid black','','yellow','Тест','75','0','3000','pop_test')"> Тест </p>
</body>

</html>
Можно было заморочится и устроить проверку на наличие параметров, но я не стал заморачиваться. Окончательный вариант, кому интересно. еще раз спасибо. Теперь обнаружилось, что вся красота эта работает тока под IE (( еще тестилось на опере и firefox-e

Последний раз редактировалось Andr180nag; 08.08.2008 в 16:00.
Andr180nag вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хотел узнать. Nezn Microsoft Office Excel 5 29.05.2009 15:48
Impact PopUp axeli Софт 1 28.07.2008 12:02
Popup+dbGrid s.mag БД в Delphi 8 15.05.2008 13:32
popup в dbgrid drakhar БД в Delphi 7 13.02.2008 08:20
Popup menu Mitron Компоненты Delphi 1 02.02.2008 14:26