Hallo Leute!
Ich nutze folgendes JavaScript, mit welchem ich die Title verschönere. Wenn ich nun aber an den rechten oder linken Browserrand komme, sodass es über den Bildschirmrand ragen würde, schiebt er meine divs zusammen!
Wie kann ich die Position des Divs immer mittig unter dem Zeiger positionieren?
Oder hat jemand eine bessere und schönere Lösung?
Ich nutze folgendes JavaScript, mit welchem ich die Title verschönere. Wenn ich nun aber an den rechten oder linken Browserrand komme, sodass es über den Bildschirmrand ragen würde, schiebt er meine divs zusammen!
Wie kann ich die Position des Divs immer mittig unter dem Zeiger positionieren?
Oder hat jemand eine bessere und schönere Lösung?
HTML:
var ToolTipTag = "a,img";
var ToolTipX = 15;
var ToolTipY = 0;
tooltip = {
name : "ToolTip",
offsetX : ToolTipX,
offsetY : ToolTipY,
tip : null
}
tooltip.init = function () {
var tipNameSpaceURI = "http://www.w3.org/1999/xhtml";
if(!tipContainerID){ var tipContainerID = "ToolTip";}
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 (evt) {tooltip.move (evt)};
var a, sTitle, elements;
var elementList = ToolTipTag.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 (evt) {
var x=0, y=0;
if (document.all) {
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 += window.event.clientX;
y += window.event.clientY;
} else {
x = evt.pageX;
y = evt.pageY;
}
this.tip.style.left = (x + this.offsetX) + "px";
this.tip.style.top = (y + this.offsetY) + "px";
}
tooltip.show = function (text) {
if (!this.tip) return;
this.tip.innerHTML = text;
this.tip.style.display = "block";
this.tip.style.zIndex = "1000";
this.tip.style.position = "absolute";
this.tip.style.padding = "3px";
this.tip.style.borderWidth = "2px";
this.tip.style.borderStyle = "outset";
this.tip.style.borderColor = "#000000";
this.tip.style.backgroundColor = "#C0C0C0";
this.tip.style.textAlign = "left";
this.tip.style.fontSize = "9px";
this.tip.style.fontWeight = "bold";
this.tip.style.color = "#000000";
}
tooltip.hide = function () {
if (!this.tip) return;
this.tip.innerHTML = "";
this.tip.style.display = "none";
}