Problem bei screenX bzw. clientX
minicrispie
- javascript
0 ChrisB
Hallo, ich habe mal wieder ein Prolem:
ich möchte gern auf meiner Website(http://home.arcor.de/minicrispie/PageJSOperatoren.html) eine Erklärung per Textfeld(was am mauszeiger hängt) zu den operatoren abgeben. Aber das funktioniert irgendwie nicht. Hier ist das script:
http://home.arcor.de/minicrispie/Funktionen.js
die entsprechende Funktion heißt --> BewegeTextfeld()
ich hab das auch schon so versucht:
function BewegeTextfeld(Ereignis)
{
if (!Ereignis){Ereignis = window.event;};
if (navigator.appName=="Netscape")
{
var posx = Ereignis.screenX;
var posy = Ereignis.screenY;
}
else if (navigator.appName=="Microsoft Internet Explorer")
{
var posx = Ereignis.clientX;
var posy = Ereignis.clientY;
};
document.getElementById('Info').style.top=posy;
document.getElementById('Info').style.left=posx;
}
[...]
document.onmousemove = BewegeTextfeld;
Könnt ihr mir helfen ???
Hi,
Aber das funktioniert irgendwie nicht.
Aber *das* ist doch irgendwie Bullshit ...
(Diese Tipps gelesen zu haben, hast du uebrigens mit dem Posten hier bestaetigt - also halte dich bitte auch dran.)
if (navigator.appName=="Netscape")
Es ist reichlich unsinnig, einen Browser nach seinem angeblichen(!) Namen zu fragen. Stattdessen sollte man abfragen, ob die Objekte/Eigenschaften/Methoden, mit denen man arbeiten moechte, existieren.
var posx = Ereignis.screenX;
var posy = Ereignis.screenY;
}
else if (navigator.appName=="Microsoft Internet Explorer")
{
var posx = Ereignis.clientX;
var posy = Ereignis.clientY;
Und deine Kontrolle an diesem Punkt, ob die beiden Variablen nun erwartete Werte enthalten, war erfolgreich?
document.getElementById('Info').style.top=posy;
document.getElementById('Info').style.left=posx;
Maszangaben in CSS erfordern *immer* eine Einheit, so lange der Wert ungleich 0 ist.
MfG ChrisB