solo qualche smussatina qua e là, per espanderlo a opera7, niente di più (ho lasciato a casa il macete)
ciauz.
<HTML>
<HEAD>
<TITLE>Simple ToolTip</TITLE>
<SCRIPT language="JavaScript">
var oToolTip = new Object();
var hasIframe = (document.all && !window.opera)?1:0;
oToolTip._topDivZIndex = 10000;
oToolTip._oBody = null;
oToolTip._oHelperIframe = null;
oToolTip._oToolTipDiv = null;
oToolTip._mousePos = new Object();
oToolTip._init = function(){
oToolTip._oBody = document.body;
if(!oToolTip._oBody)
oToolTip._oBody = document.getElementsByTagName("BODY").item(0);
if(hasIframe){
oToolTip._oHelperIframe = document.createElement("IFRAME");
oToolTip._oHelperIframe.style.border = 0;
oToolTip._oHelperIframe.width = 0;
oToolTip._oHelperIframe.height = 0;
oToolTip._oHelperIframe.style.position = "absolute";
oToolTip._oBody.appendChild(oToolTip._oHelperIfram e);
}
oToolTip._oToolTipDiv = document.createElement("DIV");
oToolTip._oToolTipDiv.style.border = 0;
oToolTip._oToolTipDiv.width = 0;
oToolTip._oToolTipDiv.height = 0;
oToolTip._oToolTipDiv.style.position = "absolute";
oToolTip._oBody.appendChild(oToolTip._oToolTipDiv) ;
oToolTip._attachToEvent(document, 'onmousemove', oToolTip._mousemove);
}
oToolTip._getToolTipDivWidth = function(){
var tableWidth = "" + document.getElementById("oToolTipTable").offsetWid th;
if(tableWidth.indexOf('px') > -1){
return parseInt(tableWidth.substring(0, tableWidth.infexOf('px')));
} else {
return tableWidth;
}
}
oToolTip._getToolTipDivHeight = function(){
var tableHeight = "" + document.getElementById("oToolTipTable").offsetHei ght;
if(tableHeight.indexOf('px') > -1){
return parseInt(tableHeight.substring(0, tableHeight.infexOf('px')));
} else {
return tableHeight;
}
}
oToolTip._mousemove = function(e){
if(typeof(e) == 'undefined')e = event;
oToolTip._mousePos.Y = e.clientY;
oToolTip._mousePos.X = e.clientX;
if(oToolTip._oToolTipDiv.style.visibility == 'visible'){
oToolTip._fixTipPosition();
}
}
oToolTip._fixTipPosition = function(){
var scl = (document.all||window.opera)?
[oToolTip._oBody.scrollTop,oToolTip._oBody.scrollLe ft]:[pageYOffset,pageXOffset];
var clt = (document.all||window.opera)?
[oToolTip._oBody.offsetHeight,oToolTip._oBody.offse tWidth]:[innerHeight,innerWidth];
if(oToolTip._mousePos.Y > Math.round(clt[0] / 2)){
oToolTip._oToolTipDiv.style.top = oToolTip._mousePos.Y - oToolTip._getToolTipDivHeight() + scl[0];
} else {
oToolTip._oToolTipDiv.style.top = oToolTip._mousePos.Y + scl[0];
}
if(oToolTip._mousePos.X > Math.round(clt[1] / 2)){
oToolTip._oToolTipDiv.style.left = oToolTip._mousePos.X - oToolTip._getToolTipDivWidth() + scl[1];
} else {
oToolTip._oToolTipDiv.style.left = oToolTip._mousePos.X + 5 + scl[1];
}
if(hasIframe){
oToolTip._oHelperIframe.style.top = oToolTip._oToolTipDiv.style.top;
oToolTip._oHelperIframe.style.left = oToolTip._oToolTipDiv.style.left;}
}
oToolTip._attachToEvent = function(obj, name, func) {
name = name.toLowerCase();
if(obj.addEventListener) {
if(name.length > 2 && name.indexOf("on") == 0) name = name.substring(2, name.length);
obj.addEventListener(name, func, false);
} else if(typeof(obj.attachEvent) != "undefined"){
obj.attachEvent(name, func);
} else {
if(obj[name] != null){
var oldOnEvents = obj[name];
obj[name] = function(e) {
try{
func(e);
eval(oldOnEvents);
} catch(e){}
};
} else {
obj[name] = func;
}
}
}
oToolTip.showToolTip = function(toolTipMessage){
if(hasIframe)oToolTip._oHelperIframe.style.zIndex = oToolTip._topDivZIndex++;
var divContent = "<table id='oToolTipTable' style='border:1px solid black;background-color:"
+ "LightGoldenrodYellow' cellspacing='0' cellpading='0'><tr><td>"
+ toolTipMessage + "</td></tr></table>";
oToolTip._oToolTipDiv.innerHTML = divContent;
oToolTip._mousePos
oToolTip._oToolTipDiv.style.zIndex = oToolTip._topDivZIndex++;
if(hasIframe){
oToolTip._oHelperIframe.style.top = oToolTip._oToolTipDiv.style.top;
oToolTip._oHelperIframe.style.left = oToolTip._oToolTipDiv.style.left;
oToolTip._oHelperIframe.width = oToolTip._getToolTipDivWidth();
oToolTip._oHelperIframe.height = oToolTip._getToolTipDivHeight();
oToolTip._oHelperIframe.style.visibility = 'visible';
}
oToolTip._fixTipPosition();
oToolTip._oToolTipDiv.style.visibility = 'visible';
}
oToolTip.hideToolTip = function(){
if(hasIframe){
oToolTip._oHelperIframe.style.visibility = 'hidden';}
oToolTip._oToolTipDiv.style.visibility = 'hidden';
}
oToolTip._attachToEvent((window.opera)?document:wi ndow, 'onload', oToolTip._init);
</SCRIPT>
</HEAD>
<BODY>
<span
onMouseOver="oToolTip.showToolTip('Over the span tag')"
onMouseOut="oToolTip.hideToolTip()">Move mouse over this text</span>
Move mouse over the select box
<SELECT
onMouseOver="oToolTip.showToolTip('Selected text is: '
+ this.options[this.selectedIndex].text)"
onMouseOut="oToolTip.hideToolTip()" onclick="oToolTip.hideToolTip()">
<OPTION>Peace</OPTION>
<OPTION>Salam</OPTION>
<OPTION>Shalom</OPTION>
</SELECT>
</body>
</html>