Gunnar Bittersmann: 1 zufälligen aus 7 JavaScript-Befehlen ausführen

Beitrag lesen

@@Mini-Me:

<script language="JavaScript">

Das ist falsch. Das 'type'-Attribut fehlt; das 'language'-Attribut kommt in die Mülltonne. [<http://de.selfhtml.org/javascript/intro.htm#javascriptbereiche@title=SELFHTML: JavaScript-Bereiche in HTML definieren>]

var Anzahl = 7
Video = new Array(Anzahl);

Das ist unsinnig. Wenn später noch was hinzukommt oder wegfällt, müsstest du den Wert "7" abändern. Das vergisst man schnell mal.

Notwendig ist die Angabe der Anzahl der Arrayelemente nicht; und mit 'Video.[ref:self812;javascript/objekte/array.htm#length@title=lenght]' erhälst du bei Bedarf immer den aktuellen Wert.

Außerdem sollte die Variable 'Video' nicht global sein. [<http://de.selfhtml.org/javascript/sprache/variablen.htm#definieren@title=SELFHTML: Variablen definieren>]

Anstelle deiner beiden Zeilen einfach:
var Video = new Array(Anzahl);

Video[01] = "'5mAQ2LWxCR4','Jan Hegenberg - Einfach mal die Fresse halten!'"
Video[02] = "'WR4N_dioSVM','Jan Hegenberg - Cheater an die Wand'"
Video[03] = "'SZqwvjwqwK4''Vadrum meets &quot;Super Mario Bros.&quot;'"
Video[04] = "'PNpelsDXQrU','Vadrum meets &quot;The Simpsons&quot;'"
Video[05] = "'j3vLQ7iCz94','Vadrum meets &quot;William Tell&quot;'"
Video[06] = "'kW0hHJFrhrA','Vadrum meets &quot;McGiver&quot;'"
Video[07] = "'28743','Tipps und Tricks für &quot;Super Mario Galaxy&quot;'"

Du solltest in JavaScript besser jede Anweisung mit ';' abschließen.

Arrayindizes beginnen in JavaScript bei 0. [<http://de.selfhtml.org/javascript/objekte/array.htm#allgemeines@title=SELFHTML: Array: Allgemeines zur Verwendung>]

Mit führenden Nullen solltest du in JavaSript vorsichtig sein; sie kennzeichnen einen Zahlenwert im Oktalsystem.

Und HTML-Entity-Referenzen im JavaScript-Code zu verwenden, mag auch nicht die beste Idee sein. Verwende richtige Anführungszeichen, die du dann maskieren musst. [<http://de.selfhtml.org/javascript/sprache/notationen.htm#zeichenketten@title=SELFHTML: Steuerzeichen bei Zeichenketten>]

var Zufall = Math.random()
var Zufall = Math.round((Anzahl-1) * Zufall) + 1

'var' ist in der zweiten Zeile unsinnig; die Variable 'Zufall' wurde bereits angelegt.

Wann immer 'Math.round()' zusammen mit 'Math.random()' vorkommt, ist es mit an Sicherheit grenzender Wahrscheinlichkeit falsch. Wie es richtig geht, hat [Jonathan] bereitz gezeigt. Weitere Information dazu unter dem Suchgegriff "Gleichverteilung" im Forums-Archiv.

document.write(Video[Zufall])

Nein, wenn dein Script im 'head' des HTML-Dokuments steht, hat 'document.write()' darin nichts zu suchen. 'document.write()' schreibt seine Ausgabe genau an diese Stelle ins Dokument, und dort gehört sie nicht hin.

Wie soll denn eigentlich die Ausgabe deines Scriptes aussehen. Sollte das irgendwelcher HTML-Code sein?

Nun habe ich mir gedacht, ich könne "document.write(Video[Zufall])" einfach durch "youtube(Video[Zufall])" ersetzen. Das klappt leider nicht. Was muss ich nun machen, damit der dieser Zufallstext als wert in den Befehl eingesetzt wird und dieser ausgeführt wird?

Was tut die Funktion 'youtube()'? Welche Parameter erwartet sie?

Live long and prosper,
Gunnar

--
„Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)