Скоро време (пак

) се заиграх с
JS и си направих tooltip-чета, които да се появяват и пробират с ефекти, но пак от скоро ме мързи да ги довърша. Все пак ето до каде съм я докарал:
/codes/js_tooltips/
Да уточня че засега съм тествал само с Firefox (където работят) и IE - където грам не работят. Нямам намерение да ги дописвам скоро време, а пък и съм на мнението че не си струва да си губя времето с Интернет Експлодър, където хем е браузер, хем не и само създава неприятности на всички.
Имах няколко проблема, които искам да спомена:
Уеднаквяване на ефектите
За да не се появяват различни ефекти по сайта и за да не ви се налага да викате по милион функции на сайта за да ги оеднаквите, просто преди инициализирането на класа ToolTip, на ръка задайте default стойности на променливите, който в най-общия слъчей са:
var TT_DefaultTimeout = 50;
var TT_DefaultCursorOffset = 10;
var TT_DefaultStepsSize = 20;
var TT_DefaultTTWidth = 150;
var TT_DefaultTTHeight = 150;
var TT_DefaultTTEffects = OPACITY | RESIZE | FRAMEEFFECT;
var TT_DefaultBorderEffect = "thin inset lime";
TT_DefaultTimeout - трябва да е число и задава таймаута. Колкото е по-малко - толкова по-бързо ще изчезват прозорците;
TT_DefaultCursorOffset - число, казващо на какво разстояние (px) от мишката да се появяват прозорците;
TT_DefaultStepsSize - число, казващо с колко пиксела да се разхиряват прозорците ако ползвате 'RESIZE' ефект;
TT_DefaultTTWidth, TT_DefaultTTHeight - Имах проблем с автоматичното намиране на оптимални размери за прозорец, затова височина и ширина се посочват ръчно.
TT_DefaultTTEffects - битова маска. Какви ефекти да позват прозорците. Ако да речем че искате само прозрачност : TT_DefaultTTEffects = OPACITY; или рамка плюс разтягане: TT_DefaultTTEffects = RESIZE | FRAMEEFFECT;
TT_DefaultBorderEffect - Ако ползвате ефекта FRAMEEFFECT, който рисува ранка около обекта докато е посочен, с тази променлива задавате каква рамка да рисува. Само гледайте рамката да е с големина 1px, че иначе незнам какво ще стане
Ето и пример как се създава такъв tooltip:
<a href="#" id="tt1">Tooltip 1</a>
<script>
var A = new ToolTip(document.getElementById('tt1'));
A.setText('<b>Bold Title</b><br />THis is some content or sth else ....<br />Hellooo!');
A.setDimentions(100, 50); // Може да се пропусне
</script>
Та това беше едно от заниманията ми през свободноте ми време напоследък.