Hey zusammen !
Ich hab' einen Tooltip Script, der das title Attribut ausliest
und als <div> darstellt.. dieser <div> soll eigentlich direkt am
Mauszeiger angezeigt werden..
Firefox und Chrome kriegen das hin.. hab's grad mit
dem IE getestet.. und es hat natürlich nicht funktioniert :-/
Fehlermeldung war:
Und der Script sieht wie folgt aus:
Hoffe sehr jemand hat 'ne Idee, was falsch ist
Beste Grüße
Ich hab' einen Tooltip Script, der das title Attribut ausliest
und als <div> darstellt.. dieser <div> soll eigentlich direkt am
Mauszeiger angezeigt werden..
Firefox und Chrome kriegen das hin.. hab's grad mit
dem IE getestet.. und es hat natürlich nicht funktioniert :-/
Fehlermeldung war:
SCRIPT5007: Für die Eigenschaft "clientX" kann kein Wert abgerufen werden: Das Objekt ist Null oder undefiniert
Und der Script sieht wie folgt aus:
Code:
var qTipTag = "div,img";
var qTipX = 0;
var qTipY = 15;
tooltip = {
name : "qTip",
offsetX : qTipX,
offsetY : qTipY,
tip : null
}
tooltip.init = function () {
var tipNameSpaceURI = "http://www.w3.org/1999/xhtml";
if(!tipContainerID){ var tipContainerID = "qTip";}
var tipContainer = document.getElementById(tipContainerID);
if(!tipContainer) {
tipContainer = document.createElementNS ? document.createElementNS(tipNameSpaceURI, "div") : document.createElement("div");
tipContainer.setAttribute("id", tipContainerID);
document.getElementsByTagName("body").item(0).appendChild(tipContainer);
}
if (!document.getElementById) return;
this.tip = document.getElementById (this.name);
if (this.tip) { document.onmousemove = function (event) { tooltip.move (event) } ; }
var a, sTitle, elements;
var a2, sTitle2, elements2;
var elementList = qTipTag.split(",");
for(var j = 0; j < elementList.length; j++)
{
elements = document.getElementsByTagName(elementList[j]);
if(elements)
{
for (var i = 0; i < elements.length; i ++)
{
a = elements[i];
sTitle = a.getAttribute("title");
if(sTitle)
{
a.setAttribute("tiptitle", sTitle);
a.removeAttribute("title");
a.removeAttribute("alt");
a.onmouseover = function() { tooltip.show(this.getAttribute('tiptitle'))};
a.onmouseout = function() { tooltip.hide() } ;
}
}
}
}
}
tooltip.move = function (happening) {
var x=0, y=0;
if (document.all) {//IE
x = (document.documentElement && document.documentElement.scrollLeft) ? document.documentElement.scrollLeft : document.body.scrollLeft;
y = (document.documentElement && document.documentElement.scrollTop) ? document.documentElement.scrollTop : document.body.scrollTop;
x += document.happening.clientX;
y += document.happening.clientY;
} else {//Good Browsers
x = happening.pageX;
y = happening.pageY;
}
x=x-19;
tooltip.tip.style.left = (x + this.offsetX) + "px";
tooltip.tip.style.top = (y + this.offsetY) + "px";
}
tooltip.show = function (text) {
if (!tooltip.tip) return;
tooltip.tip.innerHTML = text;
tooltip.tip.style.display = "block";
}
tooltip.hide = function () {
if (!tooltip.tip) return;
tooltip.tip.innerHTML = "";
tooltip.tip.style.display = "none";
}
function myTipActive () {
tooltip.init () ;
}
Hoffe sehr jemand hat 'ne Idee, was falsch ist
Beste Grüße