Mehrere javascripte auf einer Seite
Hallo habe auf einer seite mehrere Javascripte (sind alles die selben scripte) es funktioniert nich nur wenn nur noch ein script vorhanden ist klapts.
gruss pat
Antwort schreiben
Antwort 1 von katy vom 18.04.2020, 19:13 Options
Hallo pat,
jeder Browser fasst alle Scriptteile, die du auf deine Seite schreibst, intern zu einem einzigen zusammen. Wenn beim Verfassen der Einzelscripte nicht ausdrücklich darauf geachtet wird, kannst du also verschiedene Scripte nicht gleichzeitig verwenden, denn sie beeinflussen sich gegenseitig. Das kann soweit gehen, dass gar nichts mehr funktioniert.
Vermutlich ist es aber mit einigen Änderungen möglich, deine Scripte wie gewünscht zum Laufen zu bringen. Dazu müsstest du uns allerdings deinen Quellcode zeigen.
Ein schönes Wochenende wünscht
katy
Antwort 3 von katy vom 18.04.2020, 22:27 Options
Hallo pat,
du hast in dem Quellcode immer solche Kombinationen:
<script language="JavaScript">
<!--
function makeArray()
{
this.length = makeArray.arguments.length
for (var j = 0; j < this.length; j++) this[j+1] = makeArray.arguments[j]
}
var pix = new makeArray ("images/anhaengergross/Stahlblechanhaenger20neu.jpg", "images/anhaengergross/1000einachser_winner4.jpg", "images/anhaengergross/1000einachser_winner3.jpg", "images/anhaengergross/1000einachser_winner2.jpg");
var nummer = 1;function wechsle()
{document.image.src = ""+pix[nummer];nummer += 1;
if (nummer == 5) nummer = 1;setTimeout("wechsle()", 2000);
}
//-->
</script>
...
<img src="images/anhaengergross/header_de.jpg" name="image" width="350" height="214" border="0">
Also ein Scriptteil zu einem Bild.
dadurch dass in diesen Kombinationen alle Bezeichner gleich sind kann der Browser sie nicht korrekt zuordnen (Als ob in einer Straße alle Leute Meier heißen und zudem die gleiche Hausnr. haben)
Um das zu ändern schlage ich eine simple Nummerierung vor:
<script language="JavaScript">
<!--
function makeArray_X()
{
this.length = makeArray_X.arguments.length
for (var j = 0; j < this.length; j++) this[j+1] = makeArray_X.arguments[j]
}
var pix_X = new makeArray_X ("images/anhaengergross/Stahlblechanhaenger20neu.jpg", "images/anhaengergross/1000einachser_winner4.jpg", "images/anhaengergross/1000einachser_winner3.jpg", "images/anhaengergross/1000einachser_winner2.jpg");
var nummer_X = 1;function wechsle_X()
{document.image_X.src = ""+pix_X[nummer];nummer_X += 1;
if (nummer_X == 5) nummer_X = 1;setTimeout("wechsle_X()", 2000);
}
//-->
</script>
...
<img src="images/anhaengergross/header_de.jpg" name="image_X" width="350" height="214" border="0">
Immer in einer Kombination nimmst du statt des X eine Zahl. Dann sollte das klappen.
katy
Antwort 4 von Pat88 vom 18.04.2020, 23:32 Options
überall wo ein X steht muss ne andere zahl oder kann es die selbe sein
oder in die klammer neben dem X eine zahl rein?
Antwort 5 von katy vom 19.04.2020, 01:18 Options
Hallo Pat,
in jeweils einem Abschnitt dieselbe Nummer anstatt des X
katy
Antwort 6 von Pat88 vom 19.04.2020, 19:19 Options
Hallo katy
habe gerade gesehen das das geänderte script von dir nicht funktioniert
gruss pat
Antwort 7 von katy vom 19.04.2020, 19:54 Options
Hallo Pat,
was hast du wie geändert und wie eingefügt? Lass dir bitte nicht alles aus der Nase ziehen und versuch Probleme möglichst sinnvoll zu beschreiben.
katy
Antwort 8 von Pat88 vom 19.04.2020, 21:44 Options
also habe deinen script in eine leere seite zum testen eingefüht aber der funktioniert nicht.
ich habe nur den script eingefühgt:
<script language="JavaScript">
<!--
function makeArray_X()
{
this.length = makeArray_X.arguments.length
for (var j = 0; j < this.length; j++) this[j+1] = makeArray_X.arguments[j]
}
var pix_X = new makeArray_X ("images/anhaengergross/Stahlblechanhaenger20neu.jpg", "images/anhaengergross/1000einachser_winner4.jpg", "images/anhaengergross/1000einachser_winner3.jpg", "images/anhaengergross/1000einachser_winner2.jpg");
var nummer_X = 1;function wechsle_X()
{document.image_X.src = ""+pix_X[nummer];nummer_X += 1;
if (nummer_X == 5) nummer_X = 1;setTimeout("wechsle_X()", 2000);
}
//-->
</script>
...
<img src="images/anhaengergross/header_de.jpg" name="image_X" width="350" height="214" border="0">
Antwort 9 von katy vom 20.04.2020, 08:23 Options
Hallo Pat,
an einer Stelle habe ich wohl tatsächlich ein X vergessen, tausche die Zeile
Zitat:
{document.image_X.src = ""+pix_X[nummer];nummer_X += 1;
aus durch
{document.image_X.src = ""+pix_X[nummer_X];nummer_X += 1;
Tut mir leid, der Quellcode ist schon an sich etwas veraltet und unübersichtlich.
katy
Antwort 10 von Pat88 vom 20.04.2020, 14:01 Options
Habe die änderung vorgenommen aber funktioniert nicht. hätest du mir nen alternativ script der die bilder nach ein paar sek. wechselt?
gruss pat
Antwort 11 von katy vom 20.04.2020, 14:39 OptionsLösung
Hallo Pat,
dass das nicht klappt kann ich mir kaum vorstellen.
Die Zeit selbst so etwas zu schreiben fehlt mir gerade.
Du könntest aber aus den Bilderfolgen einfach animierte GIFs zu machen, da sparst du dir den ganzen Scriptkram. Tools zum Erstellen animierter GIFs findest du über google.
katy
Antwort 12 von Pat88 vom 20.04.2020, 18:03 Options
guter tipp wede es mal mit GIFs probieren.
Danke für deine hilfe
gruss pat