(function(window, document, undefined){ var XBTooltip = function( element, userConf, tooltip) { var config = { id: userConf.id|| undefined, className: userConf.className || undefined, x: userConf.x || 20, y: userConf.y || 20, text: userConf.text || undefined }; var over = function(event) { tooltip.style.display = "block"; }, out = function(event) { tooltip.style.display = "none"; }, move = function(event) { event = event ? event : window.event; if ( event.pageX == null && event.clientX != null ) { var doc = document.documentElement, body = document.body; event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0); event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0); } tooltip.style.top = (event.pageY+config.y) + "px"; tooltip.style.left = (event.pageX+config.x) + "px"; } if (tooltip === undefined && config.id) { tooltip = document.getElementById(config.id); if (tooltip) tooltip = tooltip.parentNode.removeChild(tooltip) } if (tooltip === undefined && config.text) { tooltip = document.createElement("div"); if (config.id) tooltip.id= config.id; tooltip.innerHTML = config.text; } if (config.className) tooltip.className = config.className; tooltip = document.body.appendChild(tooltip); tooltip.style.position = "absolute"; element.onmouseover = over; element.onmouseout = out; element.onmousemove = move; over(); }; window.XBTooltip = window.XBT = XBTooltip; })(this, this.document);
<a href="http://webmatze.de" onmouseover="XBT(this, {id: 'tt4', x: 50, y: 50})">Man kann den Abstand des Tooltips anpassen...</a> <div id="tt4" class="xbtooltip"> ...indem man eine Konfiguration übergibt. </div>
a { color: blue; text-decoration: none; } a:hover { text-decoration: underline; } .xbtooltip { display: none; position: absolute; background-color: #fff; } #tt4 { width: 100px; background-color: #e4e4ff; color: #000; padding: 3px; }