Netscape DHTML-Probleme mit Win-Code unter Macintosh
Thomas
- javascript
Hallo!
Ich habe ein Problem mit einer Javascript-Layer-Bewegung (Netscape 4.x) und der
Darstellung auf dem Mac (auch hier: Netscape 4.x)
Unter Win funktioniert das Ganze einwandfrei - beim Mac erscheint *nichts*.
Eigentlich sollte ein Layer von oben nach unten als eine Art Index durchlaufen.
Ich habe eine von SELFHTML leicht abgewandelte Routine verwendet und in den Kopf der HTML-Datei geschrieben:
...
function vBeweg(LayerNum,bis_oben,Pixel,Pause)
{
Restpixel = bis_oben - document.layers[LayerNum].top;
if(bis_oben < document.layers[LayerNum].top) Pixel=0-Pixel;
if(Math.abs(Restpixel) > Math.abs(Pixel))
document.layers[LayerNum].moveBy(0,Pixel);
else
document.layers[LayerNum].moveBy(0,Restpixel);
if(document.layers[LayerNum].top != bis_oben)
window.setTimeout('vBeweg('+LayerNum+','+bis_oben+','+Math.abs(Pixel)+')','+Pause+');
}
...
Aufgerufen wird die Routine EINMALIG mit...
onLoad="vBeweg(1,319,4,1); im <body...>
Jedenfalls bewegt sich der Layer absolut korrekt unter Windows Netscape. Unter Mac-Netscape tut sich (leider) nichts. Warum???
Für eine Antwort wäre ich SEHR dankbar.
Grüße,
Thomas.
Ich habe zwar keine Antwort auf Deine Frage, aber schau mal meine Frage (bzw. zukünftige Antworten darauf) an: http://www.teamone.de/selfaktuell/self_forum/16346.html
Ich denke nämlich, dass wir in etwa das selbe Problem haben! (Leider)
Hi Thomas,
mal abgesehen davon, dass das Script alles andere als elegant und wiederverwendbar ist, kann ich mir nur zwei Ursache vorstellen, an den es liegen koennte. Die erste ist Deine Variable "bis_oben". Eigentlich richtig, aber es gibt gelegentlich Probleme in Netscape bei Variablen mit einem Underscore. Das nur falls es nach Bereinigung des Fehlers nicht geht.
»» if(document.layers[LayerNum].top != bis_oben)
»» window.setTimeout('vBeweg('+LayerNum+','+bis_oben+','+Math.abs(Pixel)+')','+Pause+');
Lass einfach mal die '+ ... +' bei Pause weg. Zumindest unter Unix wird dies sicher nicht laufen (schon garnicht mit einfachen Anfuerhungszeichen) - Windows ignoriert wohl den Fehler. Mac eventuell nicht.
Jedenfalls bewegt sich der Layer absolut korrekt unter Windows Netscape. Unter Mac-Netscape tut sich (leider) nichts. Warum???
Falls es die beiden Dinge nicht waren, dann liegt es an der Gelengentlichen Javascriptschwaeche vom Mac, die aber eigentlich inzwischen behoben ist. Dann musst Du einen andern Weg gehen um deinen Layer zu bewegen.
Thomas Hieck