tooltip.tt
<script type="text/javascript">
var TooltipObj, Box;
var TooltipOffset = [8, 6];
var clientXY = [-0, -0];
function showTip(obj) {
/// init
if(!TooltipObj || !TooltipObj.parentNode) {
TooltipObj = document.createElement('DIV');
var TextObj = document.createTextNode(obj.title || 'No title');
obj.title = "";
TooltipObj.appendChild(TextObj);
TooltipObj.style.background = '#cccccc';
TooltipObj.style.color = '#000000';
TooltipObj.style.position = 'absolute';
TooltipObj.style.border = '1px solid #000000';
TooltipObj.style.padding = '0.4em';
TooltipObj.style.MozOpacity = '0.8';
TooltipObj.style.filter = 'Alpha(Opacity=80)';
TooltipObj.style.zIndex = '20';
document.getElementsByTagName('BODY').item(0).appendChild(TooltipObj);
}
else {
obj.title = TooltipObj.firstChild.nodeValue;
TooltipObj.parentNode.removeChild(TooltipObj);
}
}
function mousemove(e) {
if(e) event = e;
clientXY = [ event.clientX, event.clientY ];
if(TooltipObj) {
TooltipObj.style.left = clientXY[0] + TooltipOffset[0] + "px";
TooltipObj.style.top = clientXY[1] + TooltipOffset[1] + "px";
}
if(Box) {
document.title = Box;
Box.style.left = clientXY[0] - Box.mx + Box.Left + "px";
Box.style.top = clientXY[1] - Box.my + Box.Top + "px";
}
}
function movebox(e, action) {
/// init
if(!e) e = window.event;
var obj = e.sourceElement || e.target;
if(action) {
// obj.style.width = obj.offsetWidth + "px";
// obj.style.height = obj.offsetHeight + "px";
obj.Left = obj.offsetLeft;
obj.Top = obj.offsetTop;
obj.mx = clientXY[0];
obj.my = clientXY[1];
Box = obj;
Box.style.position = 'absolute';
}
else {
Box = 0;
}
}
document.onmousemove = mousemove;
document.onmousedown = function (e) { movebox(e, 1) };
document.onmouseup = function (e) { movebox(e, 0) };
</script>
<h2>Tooltip hack with JavaScript</h2>
<div style="
background: #990000;
padding: 1em;
margin: 1em;
border: 3px solid #000000;
cursor: default;"
onmouseover="showTip(this)"
onmouseout="showTip(this)
" title="This is the fancy tooltip :)">Hover mouse here</div>