Все это сделал, плюс немного сократил код:
$(function(){
initGTitle("#gtitle");//Инициализация
});
function initGTitle(idtitle){//idtitle - id блока для всплывающих подсказок.
if(!$(idtitle).length){
$('body').append('<div id="'+idtitle.substring(1)+'"></div>');
var el = $(idtitle);
el.css({
"position": "absolute",
"z-index": 2147483647
});
}
$(document).mouseover(function(e){
var target = e.target;
if (!target.title) return;
//перемещение текста из title в блок для всплыв. подсказки
el.empty().append(target.title);
target.title = "";
//показать подсказку
el.css({
"top":e.clientY-4-el.height()-parseInt(el.css("padding-top"))-parseInt(el.css("padding-bottom")),
"left":e.clientX+4,
"display":"block"
})
.stop()
.animate({opacity:1}, 400);
$(target).data("active", true)//запоминаем элемент, что бы при mouseout выполнялись функции исчезновения только для него.
});
$(document).mouseout(function(e){
var target = e.target;
if(!$(target).data("active")) return;//Элемент не активен? выход : продолжаем
target.title = el.html();
//скрыть подсказку
el.stop()
.animate({
opacity:0
}, 400, function(){el.css("display", "none");});
$(target).data("active", false);
});
}
И опять вопросы:
Цитата:
|
Как и куда функция data запоминает информацию?
Как сделать без JQuery, чтоб мой обработчик не мешал пользовательскому?
|
Спасибо за ответы