Startseite Forum
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:

Javascript funktioniert in Firefox nicht!!!
(1 Leser) (1) Gast
Bitte beachten, dass es hier nur um Javascripts geht, die sich nicht in unserem Archiv befinden.
  • Seite:
  • 1

THEMA: Javascript funktioniert in Firefox nicht!!!

Javascript funktioniert in Firefox nicht!!! 1 Jahr, 6 Monate her #9230

  • mac00
  • OFFLINE
  • Fresh Boarder
  • Beiträge: 9
  • Karma: 0
Guten Tag,
ich habe mir von anderen Internetseiten Javascripts geholt, aber diese funktionieren beim IE zwar, aber bei Firefox nicht. Es handelt sich dabei um"Rotierende Links", wo sich Links (oder Texte, ich habe dort auch Bilder eingefügt) im Kreis drehen. Dies geht aber nur beim IE!

Javascript:

<div id="icon0" style="position:absolute; top:225px; left:335px;"><a href="#"><img src="" alt="" border="0" width="160" height="120"></a></div>
<div id="icon1" style="position:absolute; top:225px; left:335px;"><a href="#"><img src="" alt="" border="0" width="160" height="120"></a></div>
<div id="icon2" style="position:absolute; top:225px; left:335px;"><a href="#"><img src="" alt="" border="0" width="160" height="120"></a></div>
<div id="icon3" style="position:absolute; top:225px; left:335px;"><a href="#"><img src="" alt="" border="0" width="160" height="120"></a></div>
<script language="Javascript">
<!--
var zx,zy;
var mittex = 720;
var mittey = 550;
var radius = 200;
var speed = -0.001; // + oder - für richtung
alpha = new Array(0,1.6,3.2,4.8);

function pol_zu_kart(mx,my,radius,alp)
{
zx = mx + (radius * Math.sin(alp));
zy = my + (radius * Math.cos(alp));
}

function weiterdrehen()
{
for (i=0; i<=3; i++)
{
alpha[i]+=speed;
if (speed>0)
{
if(alpha[i]>6.28) alpha[i]-=6.28;
}
else
{
if(alpha[i]<0) alpha[i]+=6.28;
}
pol_zu_kart(mittex,mittey,radius,alpha[i]);
if(document.layers)
{
switch(i)
{
case 0:
document.icon0.top=zy;
document.icon0.left=zx;
break;
case 1:
document.icon1.top=zy;
document.icon1.left=zx;
break;
case 2:
document.icon2.top=zy;
document.icon2.left=zx;
break;
case 3:
document.icon3.top=zy;
document.icon3.left=zx;
break;
}
}
else
{
switch(i)
{
case 0:
document.all.icon0.style.top=zy;
document.all.icon0.style.left=zx;
break;
case 1:
document.all.icon1.style.top=zy;
document.all.icon1.style.left=zx;
break;
case 2:
document.all.icon2.style.top=zy;
document.all.icon2.style.left=zx;
break;
case 3:
document.all.icon3.style.top=zy;
document.all.icon3.style.left=zx;
break;
}
}
}
}

status = window.setInterval("weiterdrehen()",10);
//-->
</script>

Wo liegt der Fehler? Ich habe von JS leider keine Ahnung! Es soll wohl so sein, dass das Script zu alt für Firefox ist! (Script ist von 2003/2004) Ich habe noch kein aktuelleres gefunden, dass diesen Inhalt hat!

Würde mich über eine Lösung des Rätsels freuen, weil nicht nur ich, sondern auch ein paar Kumpels dasselbe Problem haben! Dasselbe Problem tritt auch bei anderen JS's von 2003/2004 auf!

Beispiel, eine Datums- und Uhranzeige, die sich von selbst aktualisiert:

<script language=javaScript>
<!--
window.setTimeout("ZeitAnzeigen()",1000);
Wochentagname = new Array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");

function ZeitAnzeigen()
{
var Jetzt = new Date();
var Tag = Jetzt.getDate();
var Monat = Jetzt.getMonth() + 1;
var msJahr = Jetzt.getYear();
var nsJahr = Jetzt.getYear() + 1900;
var Stunden = Jetzt.getHours();
var Minuten = Jetzt.getMinutes();
var Sekunden = Jetzt.getSeconds();
var WoTag = Jetzt.getDay();
var Vortag = ((Tag < 10) ? "0" : "");
var Vormon = ((Monat < 10) ? ".0" : ".");
var Vorstd = ((Stunden < 10) ? "0" : "");
var Vormin = ((Minuten < 10) ? ":0" : ":");
var Vorsek = ((Sekunden < 10) ? ":0" : ":");
var msDatum = Vortag + Tag + Vormon + Monat + "." + msJahr;
var nsDatum = Vortag + Tag + Vormon + Monat + "." + nsJahr;
var Uhrzeit = Vorstd + Stunden + Vormin + Minuten + Vorsek + Sekunden;
var msJetzt = msDatum + " " + Wochentagname[WoTag] + " " + Uhrzeit;
var nsJetzt = nsDatum + " " + Wochentagname[WoTag] + " " + Uhrzeit;

if(document.all) {
noshade.innerHTML=msJetzt
shade.innerHTML=msJetzt
}
if(document.layers) {
document.shade.document.write('<div id="shade" style="position:absolute;visibility:visible;font-family:Arial;color:silver;font-size:80px;top:105px;left:16px">'+nsJetzt+'</div>')
document.noshade.document.write('<div id="noshade" style="position:absolute;visibility:visible;font-family:Arial;color:gray;font-size:80px;top:100px;left:10px">'+nsJetzt+'</div>')
document.close()
}
var timer=setTimeout("ZeitAnzeigen()",1000)
}
//-->
</script>

So wie die Scripte hier eingefügt sind, so sind sie auch in meiner Homepage eingebaut. (Jedoch können Firefox-User die Scripte nicht "genießen"!)
Ich habe natürlich auf meiner Seite dann noch bei den rotierenden Links die Bilder und Texte eingefügt, die habe ich hier jetzt weggelassen! Die Scripts sind so wie sie jetzt sind im "Body"-Bereich eingefügt. Wenn ich es in den "Head"-Bereich lege, funktioniert es immer noch nicht!
ps. die DIV's habe ich natürlich nicht in den "Head" gepackt!!!

Gruß und Dank im Vorraus

Mac00

Aw: Javascript funktioniert in Firefox nicht!!! 1 Jahr, 6 Monate her #9232

  • Super_Mario
  • OFFLINE
  • Platinum Boarder
  • Beiträge: 623
  • Karma: 35
Hallo,

Fehler gibt es in den Javascripts eigentlich keine (na ja, beim Zweiten warn ein paar), allerdings machen die Arten, wie auf die divs zugegriffen wird, in vielen Browsern Probleme: einerseits wird über layers (wird nur vom Netscape unterstützt) auf die divs zugegriffen und andererseits über das all-Objekt (unterstützen mit der Verwendungsweise in den Scripts nur IE und neuere Versionen von Opera). Viele Browser gehen dabei folglich "leer aus".

Ich hab dir die Javascripts jetzt umgeschrieben und eine Zugriffsweise mit der Funktion getElementById() dazugegeben, die von allen modernen Browsern unterstützt wird (alle Änderungen hab ich rot markiert)

Hier ist das Script mit den rotierenden Bildern:
<div id="icon0" style="position:absolute; top:225px; left:335px;"><a href="#"><img src="" alt="" border="0" width="160" height="120"></a></div>
<div id="icon1" style="position:absolute; top:225px; left:335px;"><a href="#"><img src="" alt="" border="0" width="160" height="120"></a></div>
<div id="icon2" style="position:absolute; top:225px; left:335px;"><a href="#"><img src="" alt="" border="0" width="160" height="120"></a></div>
<div id="icon3" style="position:absolute; top:225px; left:335px;"><a href="#"><img src="" alt="" border="0" width="160" height="120"></a></div>
<script language="Javascript">
<!--
var zx,zy;
var mittex = 720;
var mittey = 550;
var radius = 200;
var speed = -0.001; // + oder - für richtung
alpha = new Array(0,1.6,3.2,4.8);

function pol_zu_kart(mx,my,radius,alp)
{
zx = mx + (radius * Math.sin(alp));
zy = my + (radius * Math.cos(alp));
}

function weiterdrehen()
{
for (i=0; i<=3; i++)
{
alpha[i]+=speed;
if (speed>0)
{
if(alpha[i]>6.28) alpha[i]-=6.28;
}
else
{
if(alpha[i]<0) alpha[i]+=6.28;
}
pol_zu_kart(mittex,mittey,radius,alpha[i]);
if(document.layers)
{
switch(i)
{
case 0:
document.icon0.top=zy;
document.icon0.left=zx;
break;
case 1:
document.icon1.top=zy;
document.icon1.left=zx;
break;
case 2:
document.icon2.top=zy;
document.icon2.left=zx;
break;
case 3:
document.icon3.top=zy;
document.icon3.left=zx;
break;
}
}
else if(document.all)
{
switch(i)
{
case 0:
document.all.icon0.style.top=zy;
document.all.icon0.style.left=zx;
break;
case 1:
document.all.icon1.style.top=zy;
document.all.icon1.style.left=zx;
break;
case 2:
document.all.icon2.style.top=zy;
document.all.icon2.style.left=zx;
break;
case 3:
document.all.icon3.style.top=zy;
document.all.icon3.style.left=zx;
break;
}
}
else if(document.getElementById)
{
switch(i)
{
case 0:
document.getElementById("icon0").style.top=zy;
document.getElementById("icon0").style.left=zx;
break;
case 1:
document.getElementById("icon1").style.top=zy;
document.getElementById("icon1").style.left=zx;
break;
case 2:
document.getElementById("icon2").style.top=zy;
document.getElementById("icon2").style.left=zx;
break;
case 3:
document.getElementById("icon3").style.top=zy;
document.getElementById("icon3").style.left=zx;
break;
}
}

}
}

status = window.setInterval("weiterdrehen()",10);
//-->
</script>


Und hier ist das Script mit dem Datum:
<div id="shade" style="position:absolute;visibility:visible;font-family:Arial;color:silver;font-size:80px;top:105px;left:16px"></div>
<div id="noshade" style="position:absolute;visibility:visible;font-family:Arial;color:gray;font-size:80px;top:100px;left:10px"></div>

<script language="javaScript">
<!--
window.setTimeout("ZeitAnzeigen()",1000);
Wochentagname = new Array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");

function ZeitAnzeigen()
{
var Jetzt = new Date();
var Tag = Jetzt.getDate();
var Monat = Jetzt.getMonth() + 1;
var msJahr = Jetzt.getYear();
var nsJahr = Jetzt.getYear() + 1900;
var Stunden = Jetzt.getHours();
var Minuten = Jetzt.getMinutes();
var Sekunden = Jetzt.getSeconds();
var WoTag = Jetzt.getDay();
var Vortag = ((Tag < 10) ? "0" : "");
var Vormon = ((Monat < 10) ? ".0" : ".");
var Vorstd = ((Stunden < 10) ? "0" : "");
var Vormin = ((Minuten < 10) ? ":0" : ":");
var Vorsek = ((Sekunden < 10) ? ":0" : ":");
var msDatum = Vortag + Tag + Vormon + Monat + "." + msJahr;
var nsDatum = Vortag + Tag + Vormon + Monat + "." + nsJahr;
var Uhrzeit = Vorstd + Stunden + Vormin + Minuten + Vorsek + Sekunden;
var msJetzt = msDatum + " " + Wochentagname[WoTag] + " " + Uhrzeit;
var nsJetzt = nsDatum + " " + Wochentagname[WoTag] + " " + Uhrzeit;

if(document.all) {
document.all.noshade.innerHTML=msJetzt;
document.all.shade.innerHTML=msJetzt;
}
else if(document.layers) {
document.shade.document.write(nsJetzt);
document.noshade.document.write(nsJetzt);
document.close();
}
else if(document.getElementById) {
document.getElementById("noshade").innerHTML=msJetzt;
document.getElementById("shade").innerHTML=msJetzt;
}

var timer=setTimeout("ZeitAnzeigen()",1000);
}
//-->
</script>

Jetzt sollte alles funktionieren
liebe Grüße
Super Mario

Meine Webseite ist Mario & Luigis wunderbare Welt. Dort gibt es auch eine große Auswahl an kostenlosen und werbefreien Javascripts. Meine Javascripts laufen in vielen, bzw. allen Browsern und sind W3C valide!
Letzte Änderung: 1 Jahr, 6 Monate her von Super_Mario.

Aw: Javascript funktioniert in Firefox nicht!!! 1 Jahr, 6 Monate her #9234

  • micha
  • OFFLINE
  • Administrator
  • Beiträge: 1919
  • Karma: 31
Hab das ganze mal etwas geändert, so dass bei der Bilderrotation beliebig viele Bilder und Links eingefügt werden können. Auch das Script mit dem Schatten ist nun mit in unserem Archiv

www.kostenlose-javascripts.de/javascript...ge-mit-schatten.html
www.kostenlose-javascripts.de/javascript...tierende-bilder.html

Aw: Javascript funktioniert in Firefox nicht!!! 1 Jahr, 6 Monate her #9235

  • mac00
  • OFFLINE
  • Fresh Boarder
  • Beiträge: 9
  • Karma: 0
Hallo,
danke für die schnelle Hilfe. Die Datums- und Uhranzeige funktioniert jetzt auch bei Firefox! Ich hatte vergessen die beiden DIV's zu kopieren, sie sind ja eigendlich da.^^
Aber das Mit dem rotieren klappt nicht ganz! Es ist wie vorher, dass alle 4 Links auf einem Haufen übereinander angezeigt werden! Man kann dann natürlich auch nur das oberste anklicken.
Bei mir sind es Bilder und Texte als Link, es soll zu der Fotogalerie führen. Und da ich 4 Fotogalerien habe, sind es auch 4 Links. Aber ich habe es auch schon ohne Bilder probiert, und es geht auch nicht.


Würdemich freuen, wenn es dafür noch irgendeine Lösung gibt!^^

Aber trotzdem noch mal danke für die schnelle Hilfe. Etwas ist ja schon geschafft...

Aw: Javascript funktioniert in Firefox nicht!!! 1 Jahr, 6 Monate her #9236

  • micha
  • OFFLINE
  • Administrator
  • Beiträge: 1919
  • Karma: 31
Die Lösung steht in meinem vorherigen Post

Aw: Javascript funktioniert in Firefox nicht!!! 1 Jahr, 6 Monate her #9237

  • mac00
  • OFFLINE
  • Fresh Boarder
  • Beiträge: 9
  • Karma: 0
Danke, es funktioniert jetzt auch bei Firefox! Jedoch habe ich die Links der Bilder immer mit <a href="...">Link</a> angegeben, weil ich ja die Bilder auf dem Server drauf habe! Wie kann ich diese Bilder nun dort einfügen? Und wie kann ich diese Schei** Werbung entfernen, denn soetwas möchte ich auf keinen Fall, da es an dieser Stelle nicht passend ist!

Aw: Javascript funktioniert in Firefox nicht!!! 1 Jahr, 6 Monate her #9240

  • micha
  • OFFLINE
  • Administrator
  • Beiträge: 1919
  • Karma: 31
Die Links kannst du so angeben, wie es auf der Seite auch beschrieben ist. Der Werbelink ist eine kleine Gegenleistung dafür, dass dir das Script wunschgemäß geändert wurde

Aw: Javascript funktioniert in Firefox nicht!!! 1 Jahr, 6 Monate her #9241

  • Super_Mario
  • OFFLINE
  • Platinum Boarder
  • Beiträge: 623
  • Karma: 35
Die Bilder kannst du einfügen, indem du statt dem "Link" in
<a href="...">Link</a>

den HTML-Tag für ein Bild einsetzt:
<a href="..."><img border="0" src="http://www.adresse-deiner-webseite.de/Bild.gif" alt=""></a>
liebe Grüße
Super Mario

Meine Webseite ist Mario & Luigis wunderbare Welt. Dort gibt es auch eine große Auswahl an kostenlosen und werbefreien Javascripts. Meine Javascripts laufen in vielen, bzw. allen Browsern und sind W3C valide!

Aw: Javascript funktioniert in Firefox nicht!!! 1 Jahr, 6 Monate her #9299

  • Super_Mario
  • OFFLINE
  • Platinum Boarder
  • Beiträge: 623
  • Karma: 35
Auf mac00s Wunsch hab ich hier nocheinmal eine Version von dem Javascript mit den rotierenden Bildern. Diese Version läuft in allen Javascript und CSS unterstützenden Browsern, und verbraucht zudem weniger Speicher

Hier ist der Code (die Stellen, wo der rotierende Inhalt angegeben wird, sind rot markiert):
<form name="icon0" style="position:absolute; top:225px; left:335px;"><a href="#"><img src="" alt="" border="0" width="160" height="120"></a></form>
<form name="icon1" style="position:absolute; top:225px; left:335px;"><a href="#"><img src="" alt="" border="0" width="160" height="120"></a></form>
<form name="icon2" style="position:absolute; top:225px; left:335px;"><a href="#"><img src="" alt="" border="0" width="160" height="120"></a></form>
<form name="icon3" style="position:absolute; top:225px; left:335px;"><a href="#"><img src="" alt="" border="0" width="160" height="120"></a></form>

<script type="text/javascript">
<!--
var zx,zy;
var mittex = 720;
var mittey = 550;
var radius = 200;
var speed = -0.001; // + oder - für richtung
alpha = new Array(0,1.6,3.2,4.8);

function weiterdrehen()
{
for (i=0; i<=3; i++)
{
alpha[i]+=speed;

if (speed>0)
{
if(alpha[i]>6.28) alpha[i]-=6.28;
}
else if(alpha[i]<0) alpha[i]+=6.28;

zx = mittex + (radius * Math.sin(alpha[i]));
zy = mittey + (radius * Math.cos(alpha[i]));

document.forms["icon"+i].style.top=zy;
document.forms["icon"+i].style.left=zx;
}
window.setTimeout("weiterdrehen()",10);
}
weiterdrehen();
//-->
</script>
liebe Grüße
Super Mario

Meine Webseite ist Mario & Luigis wunderbare Welt. Dort gibt es auch eine große Auswahl an kostenlosen und werbefreien Javascripts. Meine Javascripts laufen in vielen, bzw. allen Browsern und sind W3C valide!
  • Seite:
  • 1
Ladezeit der Seite: 0.57 Sekunden

Login

Aktuell im Forum

mehr