Всплывающая подсказка

Воскресенье, 22 августа 2010 г.
Рубрика: Учебник CSS
Метки: |
Просмотров: 1643
Подписаться на комментарии по RSS


На большинстве сайтов, Вы могли всё чаще встречать всплывающую подсказку к интересующей Вас ссылке или картинке. Но если просто у картинок прописывать alt, то будет подсказка стандартного вида, а не такая, как на большинстве сайтов, а именно - красивая, и функциональная, с возможностью добавлять в подсказку картинку, или сделать фон подсказки в виде картинки с скруглёнными углами и с тенью. Для реализации этой затеи нам понадобится css, hmtl и javascript. Некоторые начинающие веб-мастера когда слышат слово javascript, то не понимают что это, или они наслышаны о том, что javascript затормаживает работу сайта, так и есть, только если не злоупотреблять javascript'ом, то и работа сайта не будет заторможена. Вы могли встречать работу javascript в формах добавления комментария - мы говорим про добавление смайлов или bb-кода в форму комментария, именно javascript осуществляет добавление данных через кнопку в форму.
Перейдём к созданию всплывающей подсказки:
Для начала создадим css таблицу стилей под названием style.css
И в ней пропишем стиль для подсказки под названием - floatTip:

#floatTip {<BR>  position: absolute; /* Абсолютное позиционирование */<BR>  width: 250px; /* Ширина блока */<BR>  display: none; /* Прячем от показа */<BR>  border: 1px solid #0099ff; /* Рамка подсказки */<BR>  padding: 4px; /* Отступы вокруг  текста */<BR>  font-family: sans-serif; /* Рубленый шрифт */<BR>  font-weight: bold; /* Устанавливаем жирный шрифт */<BR>  font-size: 0.75em; /* Размер  шрифта */<BR>  color: #fafafa; /* Цвет текста */<BR>  background: #00C1FF; /* Цвет фона */<BR>}<BR>



Это весь не большой код. Все подсказки в коде. Вы конечно же можете изменять стиль подсказки как захотите, и если Вы захотите поставить свой фон с рамкой, то просто задайте толщину рамки в 0px.
Теперь перейдём к созданию javascript кода для подсказки. Он нам понадобится для корректного отображения во всех браузерах, и для того чтобы подсказка всегда была рядом с курсором, если тот находится на картинке.
Теперь создадим файл tooltip.js в той же директории, что и css файл:


document.onmousemove = moveTip;<BR>function moveTip(e) {<BR>  floatTipStyle = document.getElementById("floatTip").style;<BR>  w = 250; // Ширина слоя<BR><BR>  // Для браузера IE<BR>  if (document.all)  { <BR>    x = event.x + document.body.scrollLeft; <BR>    y = event.y + document.body.scrollTop; <BR><BR>  // Для остальных браузеров<BR>  } else   { <BR>    x = e.pageX; // Координата X курсора<BR>    y = e.pageY; // Координата Y курсора<BR>  }<BR><BR>  // Показывать слой справа от курсора <BR>  if ((x + w + 10) < document.body.clientWidth) { <BR>    floatTipStyle.left = x + 'px';<BR><BR>  // Показывать слой слева от курсора<BR>  } else { <BR>    floatTipStyle.left = x - w + 'px';<BR>  }<BR><BR>  // Положение от  верхнего края окна браузера<BR>  floatTipStyle.top = y + 20 + 'px';<BR>}<BR><BR>function toolTip(msg) {<BR>  floatTipStyle = document.getElementById("floatTip").style;<BR>  if (msg) {<BR><BR>    // Выводим  текст подсказки<BR>    document.getElementById("floatTip").innerHTML = msg;<BR>    // Показываем слой<BR>    floatTipStyle.display = "block";<BR>  } else { <BR>    // Прячем  слой<BR>    floatTipStyle.display = "none";<BR>  } <BR>}<BR>



Мы выносим javascript код в отдельный файл, для удобства обращения к нему, и для моментального редактирования на всех страницах, где есть наша подсказка. Если же его не выносить, а прописывать на каждой странице, где мы захотим поместить нашу мощную подсказку, то на редактирование около сотни страниц, у Вам придётся потрать очень много времени и сил.
Теперь перейдём к созданию html файла, в котором хотим отображать нашу подсказку.
Для начала создадим файл index.html в той же директории, где и файлы со скриптом и css таблицей:


<html><BR><head><BR><title>CSS чебник</title><BR><link rel="stylesheet" type="text/css" href="style.css"/><BR><script type="text/javascript" src="tooltip.js"></script><BR></head><BR><body><BR><img src="img.png" onMouseOver="toolTip('Это подсказка работает на javascript и css, и не тормозит сайт')" onMouseOut="toolTip()"><BR><div id="floatTip"></div><BR></body><BR></html><BR>



В голове сайта мы подключаем файл с javascript. Потом в теле документа пишем тег картинки, в нём ссылаемся на картинку и при помощи команд onMouseOver и onMouseOut заставляем javascript работать. Если вы хотите изменить текст подсказки, то прописывайте его в команду onMouseOver. После тега img пишем тег div, с id стиля нашей подсказки.



























Поделиться...
twitter.com facebook.com vkontakte.ru mail.ru google.com bobrdobr.ru
Оставьте свой комментарий!

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Если вы уже зарегистрированы как комментатор, укажите пароль и свой действующий email.

(обязательно)