Profi-Webmaster | Freehosting, kostenloser Webspace, gratis Webspace

Normale Version: javascript: problem mit der mauszeiger position
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.

Necromancer

servus

ich hab mal wieder ein neues script geschrieben welches infoboxen ausgeben soll für bestimmte wörter welche man vorher bestimmt hat

diese sollen sich dann verschieben lassen etc... ja ich weiß is nix neues von der idee her aber ich hab mir gedacht is ne nette sache zu haben

das problem bei mir ist nachdem ich es bei mir in einer testsetie umfangreich getestet habe schien alles richtig zu funktionieren.
siehe hier:

http://www.simbrio.com/test/index.html

nachdem ich es aber in eine meiner seiten eingebunden habe ist das passiert:

http://www.simbrio.com/test/index2.html

ich habe jetzt keinen nerv stunden über stunden nach einer lösung zu suchen und wollte deshalb mal nach rat fragen

mein code zum bestimmen der position lautet:
[code:1]
//ereignis = event
//ausloeser = das element welches den event auslöst

var testOffsetLeft = ausloeser.offsetLeft == "undefined" ? ereignis.pageX == "undefined" ? 0 : ereignis.pageX : ausloeser.offsetLeft;

var testOffsetTop = ausloeser.offsetTop == "undefined" ? ereignis.pageY == "undefined" ? 0 : ereignis.pageY : ausloeser.offsetTop;

var idHeight = document.getElementById(id).offsetHeight;

var matheX = Math.round((testOffsetLeft+fWidth2+7) < (getPageSize()[5]+getPageSize()[3]) ? testOffsetLeft+idWidth+5 : getPageSize()[5]+getPageSize()[3]-fWidth2-20);

document.getElementById("div"+id).style.left = matheX+"px";

document.getElementById("div"+id).style.display = "inline";

var divIdHeight = document.getElementById("div"+id).offsetHeight;

var matheY = Math.round((testOffsetTop+divIdHeight+idHeight) < (getPageSize()[4]+getPageSize()[1]) ? testOffsetTop+(idHeight/3) : getPageSize()[4]+getPageSize()[1]-divIdHeight-20);

document.getElementById("div"+id).style.top = matheY+"px";
[/code:1]

[code:1]
// Core code from - quirksmode.org
// Edit by me
function getPageSize() {
var xScroll, yScroll, yScroll2, xScroll2, windowWidth, windowHeight;
if (window.innerHeight && window.scrollMaxY) {
xScroll = document.body.scrollWidth;
yScroll = window.innerHeight + window.scrollMaxY;
} else if (document.body.scrollHeight > document.body.offsetHeight) { // all but Explorer Mac
xScroll = document.body.scrollWidth;
yScroll = document.body.scrollHeight;
} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
xScroll = document.body.offsetWidth;
yScroll = document.body.offsetHeight;
}
if (self.pageYOffset) {
yScroll2 = self.pageYOffset;
xScroll2 = self.pageXOffset;
} else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict
yScroll2 = document.documentElement.scrollTop;
xScroll2 = document.documentElement.scrollLeft;
} else if (document.body) {// all other Explorers
yScroll2 = document.body.scrollTop;
xScroll2 = document.body.scrollLeft;
}
if (self.innerHeight) { // all except Explorer
windowWidth = self.innerWidth;
windowHeight = self.innerHeight;
} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict
windowWidth = document.documentElement.clientWidth;
windowHeight = document.documentElement.clientHeight;
} else if (document.body) { // other Explorers
windowWidth = document.body.clientWidth;
windowHeight = document.body.clientHeight;
}
arrayPageSize = new Array(xScroll,windowHeight,yScroll,windowWidth,yScroll2,xScroll2);
return arrayPageSize;
}
[/code:1]
ps: macht euch nicht lustig über die farbgebung der boxen bzw allgemein über dessen aussehen - das kann man einstellen und ist für mich noch aus testzwecken frei gewählt[/code]

Necromancer

ok passt problem mit einer kleinen schleife gelöst

kann geschlossen werden

mfg necro
Referenz-URLs