Сейчас: 08:36:30   20-го апреля 2024 г.
UsefulScript.ruСкриптыПодсказкиЦветная всплывающая подсказка
22
92

Цветная всплывающая подсказка

Предлагаем Вашему вниманию скрипт, который при наведении курсора мыши на объект (ссылку или изображение), вместо обычной всплывающей подсказки, на Вашем сайте будет показывать настраиваемую цветную всплывающую подсказку. Преимуществами данной подсказки перед стандартной является то, что Вы самостоятельно можете задавать размер, цвет и фон окошка подсказки, а так же цвет и тип шрифта.


Для демонстрации работы приведенного ниже скрипта всплывающей подсказки, наведите курсор мышки на расположенную ниже ссылку или изображение:



Для получения такой замечательной цветной подсказки, всплывающей при наведении курсора мышки на указанные ссылки или изображения, как в продемонстрированном выше примере, добавьте в начало Вашей странички следующий JavaScript код:

JavaScript код:
<script type="text/javascript">
var 
d=document;
function 
defPosition(event) {
    var 
0;
    if (
d.attachEvent != null) {
        
window.event.clientX + (d.documentElement.scrollLeft ?
        
d.documentElement.scrollLeft d.body.scrollLeft);
        
window.event.clientY + (d.documentElement.scrollTop ?
        
d.documentElement.scrollTop d.body.scrollTop);
    } else if (!
d.attachEvent && d.addEventListener) {
        
event.clientX window.scrollX;
        
event.clientY window.scrollY;
    }
    return {
x:xy:y};
}
document.onmousemove = function(event) {
    var 
event event || window.event;
    
d.getElementById('hint').style.left defPosition(event).10 "px";
    
d.getElementById('hint').style.top defPosition(event).10 "px";
}

function 
helpBox_on(titletext) {
    
d.getElementById('hint_title').innerHTML title;
    
d.getElementById('hint_text').innerHTML text;
    
d.getElementById('hint').style.width "200px";
    
d.getElementById('hint').style.border "1px solid red";
    
d.getElementById('hint_title').style.padding "5px";
    
d.getElementById('hint_text').style.padding "5px";
    
d.getElementById('hint').style.display "block";
}

function 
helpBox_off() {
    
d.getElementById('hint_title').innerHTML "";
    
d.getElementById('hint_text').innerHTML "";
    
d.getElementById('hint').style.width 0;
    
d.getElementById('hint').style.border 0;
    
d.getElementById('hint_title').style.padding 0;
    
d.getElementById('hint_text').style.padding 0;
}
</script>

Далее необходимо создать и оформить блок, который будут появляться с нужным нам текстом. Делается это следующим образом:

HTML код:
<div id="hint" style="position:absolute; background: silver; border: 0; width: 0;">
 <
div id="hint_title" style="background: green; padding: 0;"></div>
 <
div id="hint_text" style="padding: 0;"></div>
</
div>

Далее можно приступать к оформлению ссылок и изображений, у которых должны появляться всплывающие подсказки:

HTML код:
<a href="http://usefulscript.ru/"
 
onMouseOver="helpBox_on('Подсказка для ссылки',
 'Описание ссылки или той странички, куда она ведет.')" 
onMouseOut="helpBox_off()">
 
При наведении курсора на эту ссылку появится подсказка
</a>
<
br><br>
<
img src="image/img_1.png" onMouseOver="helpBox_on('Подсказка для изображения',
'А тут располагается текст с описанием именно для этого изображения.')"
onMouseOut="helpBox_off()">

Собственно, это и весь код, который поможет Вам реализовать собственные всплывающие подсказки для нужных объектов.

Дата создания: 21:15:53 09.07.2011 г.
Дата обновления: 22:36:47 08.03.2012 г.
Посещений: 10402 раз(а).

Комментарии посетителей (4 шт.):
red5
2
# 153
(13:16:17  18.05.2012 г.)

Спасибо за скрипт. А как добиться того, чтобы работало несколько стилей на странице? Пробовал - пробовал, добился, но к мышке привязывается только последняя подсказка, остальные просто выводятся, но позиционироваться не хотят :(
Ответить

Administrator
1
# 156
(19:56:17  18.05.2012 г.)

red5, для создания нескольких стилей создайте несколько функций (например, helpBox_on_light и helpBox_on_light_dark). Внесите в эти функции все необходимые изменения стилей. Далее для тех объектов, которым необходимо изменить стиль подсказки, измените название вызываемой функции при наведении курсора мышки на нужную (helpBox_on_light или helpBox_on_light_dark).
Ответить

Дмитрий
0
# 2594
(11:08:30  27.07.2015 г.)

Как сделать, чтобы вместо текста вставить изображение? Вставлял вместо текста тег img. После чего скрипт накрывался.
Ответить

Administrator
0
# 2597
(20:29:45  27.07.2015 г.)

Скрипт хоть и "древний", но рабочий. При вставке тега img уберите кавычки из атрибута src.
Ответить

Закрыть
Ваше имя:
801 + 9 =
Добавить комментарий:
Ваше имя:
801 + 9 =

Перед публикацией все комментарии проходят обязательную модерацию!

Если Вы хотите задать какой-либо вопрос, то сделайте это на нашем форуме.
Таким образом, Вы сможете быстрее получить ответ на интересующий Вас вопрос.
Посетителей онлайн: 5

Какой браузер Вы используете?