Gunnar Bittersmann: Text auf einer JPG einbinden.

Beitrag lesen

@@Robert Becker

Folgenden Javascript Code habe ich schon für die Zitate

Es ist selten sinnvoll, Scripte einzusetzen, von denen man nicht mal ansatzweise versteht, was sie tun. Oder was für Unsinn sie tun – wie in diesem Fall.

<SCRIPT language="JavaScript">

language="JavaScript" war schon immer Unsinn. Weg damit!

HTML ist zwar nicht case-sensitiv; es ist aber gute Praxis, Bezeichener von Elementtypen und Attributen kleinzuschreiben: <script>.

<!-- Verstecken für ältere Browser --

HTML-Kommentar in JavaScript-Code ist Unsinn. „Verstecken für ältere Browser“ ist Unsinn.

var quotenumber = 14 ;

Die Anzahl der Zitate in eine Variable zu schreiben (und diese bei Hinzufügen oder Löschen von Zitaten ändern zu müssen!!) ist Unsinn. Die Zahl ergibt sich aus der Größe des Arrays quotes.length.

var randomnumber = Math.random() ;

Die Zufallszahl in eine Variable umzukopieren ist überflüssig.

var rand1 = Math.round( (quotenumber-1) * randomnumber) + 1 ;

Die Formel ist Unsinn. Sie ergibt keine Gleichverteilung der Zitate.

quotes = new Array

Auch wenn es in JavaScript nicht zwingend erforderlich ist, ist es doch dringend angeraten, Statements mit ; abzuschließen.

Globale Variblen sind zu vermeiden! Also var quotes = new Array();

quotes[1] = "NACHRICHT #1" quotes[2] = "NACHRICHT #2" quotes[3] = "NACHRICHT #3" quotes[4] = "NACHRICHT #4" quotes[5] = "NACHRICHT #5" quotes[6] = "NACHRICHT #6" quotes[7] = "NACHRICHT #7" quotes[8] = "NACHRICHT #8" quotes[9] = "NACHRICHT #9" quotes[10] = "NACHRICHT #10" quotes[11] = "NACHRICHT #11" quotes[12] = "NACHRICHT #12" quotes[13] = "NACHRICHT #13" quotes[14] = "NACHRICHT #14"

Arrays beginnen mit dem Index 0. Warum sollte da ein Feld verschwendet werden?

Die Durchnumerierung ist überflüssig; das kann JavaScript allein (auch besser fürs bei Hinzufügen oder Löschen von Zitaten):

var quotes = new Array(
  "NACHRICHT #1",
  "NACHRICHT #2",
  "NACHRICHT #3","NACHRICHT #13",
  "NACHRICHT #14"
);

Beachte, dass in JavaScript nach dem letzten Feld kein Komma stehen darf!

document.write("" + quote + "")

Die Stringkonkatenation mit Leerstrings ist überflüssig.

document.write() würde zwar in diesem Fall funktionieren, sollte aber besser generell vermieden werden.

Besser ist es, ein Element mit ID (blockquote bietet sich hier an; auch aside. Oder beides: blockquote in aside) zu haben und den Inhalt mit document.getElementById('…').innerHTML o.ä. zu befüllen.

LLAP

--
„Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)