Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Habe ein Problem mit Layern im Mozilla Firefox





Frage

wie schon gesagt, habe ich ein problem mit layern im Mozilla Firefox! das document.all nicht im mozilla firefox nicht funktioniert ist mir bekannt, aber anscheinend habe ich noch wo anders einen begriff verwendet, den der Firefox nicht versteht :-( . Ihr braucht nur die Funktionen ab bewegenmozilla() anzusehen! Da die anderen für den Internet Explorer sind! ich poste einfach mal den code. <html> <head> <title>Hauptseite</title> <meta name="generator" content="HTML Studio"> </head> <script language="JavaScript"> var a; var breite; breite=screen.width; breite=breite-210; var browser; var useragent; a=breite; b=breite; function browserabfrage() { browser=navigator.appName; if (browser=="Microsoft Internet Explorer") { window.setTimeout(´bewegen()´,20); } if (browser=="Netscape") { window.setTimeout(´bewegenmozilla()´,20); } if (browser!="Netscape" && browser!="Microsoft Internet Explorer") { alert ("Bitte benutzen Sie den Internet Explorer oder den Mozilla Firefox!"); } } function bewegen() { if (a>=0) { a=a-10; bild.style.left=a; bild.style.top=0; window.setTimeout(´bewegen()´,20); } else { window.setTimeout(´vlinie()´,20); } } function vlinie() { if (b>595) { b=b-5; vertikale.style.left=b; vertikale.style.top=0; window.setTimeout(´vlinie()´,10); } } function bewegenmozilla() { a=a-10; if (a>=0) { document.getElementById(´bild´).style.left=a; document.getElementById(´bild´).style.top="0"; window.setTimeout(´bewegenmozilla()´,20); } else { window.setTimeout(´vliniemozilla()´,20); } } function vliniemozilla() { b=b-5; if (b>595) { document.getElementById(´vertikale´).style.left=b; document.getElementById(´vertikale´).style.top="0"; window.setTimeout(´vliniemozilla()´,10); } } </script> <body onLoad="bewegenmozilla()"><DIV ID="bild" STYLE="position:absolute; left:-1000px; top:-1000px;"><img src="../../Eigene Dateien/Eigene Bilder/oben.png" alt=""></DIV> <DIV ID="vertikale" STYLE="position:absolute; left:-10px; top:-10px;"> <table border="0"> <tr> <td Style="background-image:url(vertikalelinie.png);" width="1" height="800"></td> </tr> </table> </DIV> </body> </html>

Antwort 1 von Dr.Ma-Busen

Moin!


Und wo ist das Problem? Also bei mir läuft es. Hast du schon mal in die Adresszeile vom Firefox javascript: eingegeben?

Es gibt ein Bug im SN der macht aus den einfachen anführungszeichen das Zeichen hier ´
Ich weis jetzt nicht ob du z.B. hier:
window.setTimeout(´bewegen()´,20);

Hast du einfache Anführungszeichen genommen oder das Zeichen ´ ?

Wenn das der fall ist dann ändere das mal um.


MfG

Antwort 2 von Leitzelmaster

Erst mal danke für die Hilfe, das problem hat sich mitlerweile von "Allein" gelöst! Es war ganz einfach so, dass meine Version vom Mozilla Firefox zu alt war für diesen code! Mit der neuen Version klappt es :-D . Mein alter firefox hat nämlich soweit ich weiß das left nicht kapiert!

Antwort 3 von rfb

das Script scheint aber auch noch älter zu sein!

Die Browserabfrage ist doch völlig sinnlos, da alle neueren Broser sowas simples unterstützen. Und zwar mit (fast) ein und demselben Code, z.B. hier findest du sowas ähnliches:
https://supportnet.de/threads/1088884

Dort wird statt screen.width, der Bildschirmbreite, das sinnvollere window.innerwidth, also die Anzeigefensterbreite, genutzt. Inzwischen kannst du nicht mehr einfach davon ausgehen, dass das identisch ist (diese Abfrage ist übrigens exact der Punkt, wo für den IE eine Extra-Wurst gebraten werden muss - aber die Abfrage erfolgt nicht über Browsernamen sondern ob das entsprechende Object bekannt ist oder nicht, vielleicht hat der nächste IE ja auch dieses Object intus.)

Antwort 4 von Leitzelmaster

@rfb :
ach, die browserabfrage ist für nen anderen zusätzlichen skript den ich rausgelöscht hab, da der ja funktioniert hat :-) . Ach und danke für den tipp mit window.innerwidth

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: