Pixelkoordinaten in Firefox 3.6.2

Kai-Behncke

Erfahrenes Mitglied
Hallo liebe Leute,

ich stehe vor einem Rätsel.
Seitdem ich Firefox 3.6.2 nutze läuft eine Anwendung nicht mehr wie sie soll.

Konkret: http://www.osnago-mobil.de/

Wenn ich mit der Maus in die Karte klicke, dann soll eigentlich der angeklickte Punkt zentriert werden.

Im IE klappt das wunderbar

(ich hole mir die Pixelkoordinate der Grafik über:
x = event.offsetX;
y = event.offsetY;

)

Im Firefox lief das bislang ähnlich gut, aber eben nicht mehr seit der Umstellung.

Die Pixelkoordinate der Grafik hole ich mir mit:
x = e.layerX;
y = e.layerY;

doch diese ist nun neuerdings immer 0 ?

Wichtig: Ich brauche nicht die Pixelkoordinaten des Bildschirms sondern eben der Grafik, aus diesem Grunde hat diese auch die Angabe <img style="position:relative;" ....


Hat jemand eine Ahnung welchen Parameter man dafür nun im neuen Firefox angeben muss?

Danke im Voraus, Kai
 
Hey!

Wusst ichs doch, das ich das schon mal wo gebraucht hab --> habs gefunden! :)

Ich musste einen Balken abhängig von der Zeit auf einem Zeitdiagramm anzeigen:

PHP:
<script type="text/javascript">
function positionTimeBar()
{
	if (document.getElementById('timebar') != null) 
	{
		// Also ich hab das ganze so gelöst:
		var offsetleft = document.getElementById('content').offsetLeft;
		var offsettop = document.getElementById('content').offsetTop;
		// Das andere is eigentlich eher unwichtig ^^
		doRequest("timeplan.php?action=internal", null);
		document.getElementById('timebar').style.left = (offsetleft + 156 + getReturner()) + 'px';
		document.getElementById('timebar').style.top = (offsettop + 91) + 'px';
		setTimeout("positionTimeBar()", 300000);
	}
}
</script>

Bei mir hats zumindest funktioniert
Weiß nicht obs aktuell noch funktioniert

greez
THEJS
 
Moin Kai,

das Problem scheint dies zu sein:

Code:
document.getElementById("karte").innerHTML=bild;

Es scheint den FF zu verwirren, dass du das den Event verursachende Element bereits entfernt hast, wenn du auf die Koodinaten zugreifst.

Lösung: hole erst die Koordinaten, und tausche dann das Bild aus.
 
Zurück