Hi,
Na alles schon wach? :-)
naja, noch nicht wirklich wach, aber schon vor einer Weile aufgestanden.
Wollt nur mal schnell fragen ob mir vielleicht noch jemand bei dem Skript helfen kann? Komm da nicht weiter...
Sagen wir's mal so: Du hast da ein Konzept, das schon im Ansatz ... hmm, suboptimal ist.
Zunächst fällt auf, dass du mehrere Funktionen definierst, die eigentlich ein- und dasselbe tun, nämlich einen Text mit document.write() ausgeben. Die Verwendung von document.write() ist generell nicht gerade der Hit, aber wir bleiben erstmal dabei; ich komme am Schluss nochmal darauf zurück.
Ich würde nun am Konzept noch nicht gar soviel ändern, aber die Funktionen eliminieren, die sich gleichen wie Geschwister und ihrerseits nichts weiter tun als document.write() aufzurufen. Stattdessen würde ich die Textbausteine in ein Array zusammenfassen (Konzept "Array" bekannt?):
<script type="text/javascript">
var Textbaustein = ["Exklusiver Liebes", "Pärchen Schlüsselanhänger", "Geschenk für Sie und Ihn und Paare"];
</script>
Btw, der erste Textbaustein ist ein Unfall, oder? - Jetzt kann ich an den Stellen im Dokument, wo die Textbausteine ausgegeben werden sollen, einfach mit
<script type="text/javascript">
document.write(Textbaustein[0]);
</script>
darauf zugreifen und beispielsweise das erste Element im Array (Index 0) ausgeben.
Die nächste Stufe der Optimierung wäre, im Dokument kein document.write() mehr zu verwenden, sondern einfach einen Platzhalter zu setzen. Das könnte beispielsweise jeweils ein span-Element sein, das durch einen bestimmten Klassennamen erkennbar ist. Der Script-Block im Kopf des Dokuments würde dann diese Elemente mit getElementsByClassName() abfragen, in einer Schleife darüber herfallen und deren Inhalt mit den Werten aus dem Textbaustein-Array ersetzen. Dann bekommen wir auch allmählich die wünschenswerte Trennung von HTML und Javascript und können das Script komplett in eine externe JS-Ressource auslagern.
So, lass mich noch kurz deinen Code zerpflücken, denn du hast da einiges, was ich "kritikwürdig" finde.
<SCRIPT language=JavaScript type=text/JavaScript>
<!--Artikelbeschreibung-->
Fängt schon an. ;-)
Grundsätzlich: Bitte gewöhne dir an, Elementnamen (Tags) und Attribute durchgehend klein zu schreiben, und Attributwerte grundsätzlich in Anführungszeichen zu setzen. HTML ist hier zwar gnädig, da ist es "nur" eine Konvention; in XHTML ist es ein "Muss". Attributwerte müssen übrigens auch in HTML in Anführungszeichen stehen, wenn sie außer Buchstaben und Ziffern noch andere Zeichen enthalten.
Das language-Attribut im obigen Ausschnitt ist in jedem Fall überflüssig, in bestimmten Fällen sogar falsch. Weglassen!
Und die Token "<!--", "-->" markieren zwar einen Kommentar in HTML, nicht aber in Javascript. In JS gibt es zwei Formen, einen Kommentar zu notieren. Entweder den Kommentar zwischen "/*" und "*/" setzen, oder den Kommentar mit "//" beginnen, dann geht er automatisch bis zum Zeilenende.
<P class=artikelbezeichnung>
<P style="TEXT-ALIGN: center"><SPAN style="FONT-SIZE: xx-large"><STRONG><FONT size=5><script type="text/javascript">Artikelueberschrift1();</script> </FONT></STRONG></SPAN></P>
Wolltest du hier zwei p-Elemente ineinander verschachteln? Das wäre nicht erlaubt. Durch die browserinterne Fehlerkorrektur wird das erste p-Element mit dem Auftreten des nächsten öffnenden p-Tags sofort wieder geschlossen (ja, in HTML darf man End-Tags teilweise weglassen, sollte man aber nicht).
Und bitte: Gewöhn dir veraltetes Zeug wie z.B. das font-Element gar nicht erst an. Benutze stattdessen konsequent CSS. Das gilt auch für den Effekt des strong-Elements, das hier vermutlich nur gestalterischen Zweck hat (Fettschrift).
Was war hier übrigens der Grund für das span-Element? Kein sichtbarer.
<P></P>
Ein Absatz ohne Inhalt? Falls das nur dazu dienen soll, Abstand zu erzeugen: Vergiss es ganz schnell wieder. Auch das ist eigentlich Sache von CSS.
Bitte nimm die Kritik nicht als Meckerei auf, sondern versuche sie als Verbesserungsvorschläge zu sehen. Es ist eine typische Eigenschaft dieses Forums, nicht nur auf die konkret gestellte Frage eine Antwort zu bekommen, sondern auch darüber hinaus. ;-)
So long,
Martin
Lieber mit Betty im Wald
als mit Waldi im Bett.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(