Перейти к содержимому

Сервис обмена электронных валют

Партнерская программа Kredov

  • Закрытая тема Тема закрыта

Всплывающее окно

#11 Ember

Ember
  • Пользователь
  • 4 сообщений
  • Репутация: 0
0

Отправлено 11 Февраль 2010 - 13:28

чтоб не плодит одинаковые темы, да и прав для создания новой у меня пока нет, то пишу тут ;)

нужно всплывающее окошко, как подсказка
при клике на икону(картинку) всплывает блок с поясняющим текстом, и через пару секунд пропадает
как это реализовать?

<script type="text/javascript" language="javascript">
function displayDivName( item ) {

var obj = document.getElementById(item);
var intTime;
if (obj.style.display != 'none') {
obj.style.display = 'none';
}
else{obj.style.display = 'block';}

}
</script>
<div style="position: relative;">
<div id="Text" style="display:none; position: absolute; z-index: 200;
border:#CCCCCC solid 1px; background: #ddeeff; height:50px; width:280px; font-family:Tahoma; font-size:12px;
padding: 5px 5px 5px 5px; margin-top: 20px; visibility: visible;">
Пояснительный текст
</div>
</div>
<img src="image.gif" border="0" width="15" style="border: 0pt none;" onclick="displayDivName('smsTexton'); return false;" />


..вот что сделано сейчас.

сейчас не могу понять куда и как засунуть таймер, чтобы закрывалось, через пару тройку секунд.
полагается, что с помощью setTimeout...

Помогите, плиз, давно на скриптами не пользовалась (работа не располагала), а сейчас время поджимает, надо по шустрому сделать ;)
  • 0

#12 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 11 Февраль 2010 - 17:45

Ember, надо давать рабочий код, изначально у вас в коде есть div c id=Text, а в обработчике на картинке у вас передаётся 'smsTexton'... Ладно я хоть сразу это подметил.

Вы почти дошли до этого, стоило вам дописать в else одну строчку кода:
setTimeout(function() { obj.style.display = 'none'; }, 3000); // ставим разовый обработчик, вызывающий анонимную функцию, которая скрывает элемент, через 3 секунды
Я же пошёл дальше, и решил вам немного усовершенствовать функцию:
function displayDivName( item, time ) {
	var time = time || 3000; // если параметр времени не передан, то назначаем 3 секунды = 3000 микросекунд
	var obj = document.getElementById(item);
	if (obj.style.display != 'none') {
		obj.style.display = 'none';
	} else {
		obj.style.display = 'block';
		setTimeout(function() { obj.style.display = 'none'; }, time); // ставим всё тот же обработчик на время time
	}
}
То есть можно вызывать функцию только с одним параметром - id подсказки, или же с двумя - id подсказки и время, через которое закрыть подсказку.
Если использовать первый вариант, без назначения времени, подсказка закроется через 3 секунды, иначе время вы определяете сами, в микросекундах
  • 0

#13 Ember

Ember
  • Пользователь
  • 4 сообщений
  • Репутация: 0

Отправлено 12 Февраль 2010 - 06:30

Огромное спасибо за помощь ;)))))
Действительно, немного недоковыряла, не туда прилаживала этот таймер ;)
  • 0


Оформление форума – IPBSkins.ru