
| Tech-Ecke / Programmieren / JavaScript + HTML |
|
|
|
Diese Seite hat weder dem Anspruch das Programmieren in JavaScript und HTML zu vermitteln, noch eine Übersicht aller grundlegenden Befehle und Syntax aufzuzeigen. Es handelt sich vielmehr um einen digitaler Schmierzettel, mit einigen Code-Beispielen für meinen persönlichen Gebrauch. Wer sich dennoch hier her verirrt hat und etwas davon gebrauchen kann darf sich natürlich gerne bedienen :-)
Wie schon einleitend erwähnt ist
diese Seite nur ein digitaler Schmierzettel für meine
persönlichen und vor allem bescheidenen Zwecke. Ein der besten
Anlaufstellen in Sachen HTML ist
Das
Script kann im Head- oder Body-Bereich des
HTML-Codes eingebettet werden, wobei Übersicht
halber der Head-Bereich sinnvoller ist. das Script
wird mit <script> eingeleitet und
endet mit </script>. Alte Browser
benötigen noch "language" und "type" sowie das
auskommentieren des eigentlichen Codes mittels <!--
und --> Das Script wird direkt beim
Laden der Seite ausgeführt.
Wie oben
bereits erwähnt wird das Script direkt beim Laden
der Seite ausgeführt, es kann also sein dass die
eigentlich HTML Seite und deren Inhalt noch nicht
komplett geladen ist. Um das zu verhindern bzw. um
das Script erst bei einem bestimmten Ereignis zu
starten muss es in eine "Function" gepackt werden.
Dann lässt sich das ganze bezielt starten z.B. über
"onLoad", einen Link oder per Button starten.
Wie oben im Beispiel gezeigt lässt sich ein Script beim Laden der Seite per Body-Tag "onLoad" ausführen, beim Verlassen der Seite wäre dies "onbeforeunload". Das geht auch im Scriptbereich:
Hinweis: Beim Verlassen der Seite kann kein alert() mehr ausgegeben werden. Der Befehl return 'Möchten Sie die Seite wirklich verlassen?'; kann jedoch zu einer Abfrage, ob man die Seite wirklich verlassen möchte genutzt werden. Das kann bei Verwendung einer Form mit Eingabefeldern sinnvoll sein, da bei Verlassen auch deren Inhalte verloren gehen.
Ein Script mit definiertem Zeitintervall immer wieder ausführen. Im Beispiel wird alle 5 Sekunden der Alert von MeinScript gestartet.
Möchte man per Script auf eine HTML-Komponente zugreifen und nutzt dabei keinen manuellen Trigger, so kann es passieren dass die HTML-Komponente noch gar nicht geladen ist, aber das Script schon darauf zugreifen möchte. Der Browser quittiert dies mit der Fehlermeldung "Cannot read properties of undefined" (oder ähnlich). Um das zu umgehen kann man "window.onload" nutzen.
Variable
müssen nicht deklariert werden, dabei kann sogar, wie im
Beispiel gezeigt eine Variable, mit Inhalt String durch
einen Integer Wert überschrieben werden.
Aber um unerwünschten Effekten vorzubeugen sollten man seine Variablen immer deklarieren. Dabei steht einem let und const, aber auch noch var zur Verfügung. Eine mit var deklarierte Variable hat innerhalb einer Function überall Gültigkeit, egal wo sie deklariert wird. Eine mit let deklarierte jedoch nur innerhalb eines Blocks, also im Bereich innerhalb einer geschweiften Klammer { }. Wenn man sie also ganz zu Beginn, direkt nach function(){ deklariert, so hat sie natürlich auch in der kompletten Function ihre Gültigkeit. const verwendet man für nicht veränderbare Variablen z.B. "const pi = 3.14".
Wird eine Variable
außerhalb einer Function deklariert, so hat sie
globale Gültigkeit, über alle Functions hinweg. Bei
Verwendung von var sogar über mehrere Dateien
hinweg. Feldvariablen (Array)
Ein
Umwandeln
von
Float/Integer
nach String
ist nicht
immer
zwingend
notwendig,
aber gehört
zu einem
sauberen
Programmierstiel.
Länge eines String ermitteln
String
abschneiden
String.slice(Anfang, Länge) - Alles was vor Anfang (Integer-Wert) und nach Länge (Integer-Wert) steht wird abgeschnitten. Im Beispiel werden die ersten 6 Zeichen abgeschnitten und der Rest behalten.
Teilstring in String suchen Es kann entweder "indexOf" oder "search" verwendet werden.
Runden
auf z.B. zwei Nachkommastellen. Das Ergebnis ist jedoch
ein String
Versucht man eine nicht nicht gesetzte localStorage-Variable, oder eine generell leere Variable auszulesen, so hat diese der Wert "undefined", dies lässt sich wie folg abfragen:
Hier
wird beim Klick auf den Button "Berechnen" die eingegebene Zahl vom ersten Feld (eingabe)
mit 2 multipliziert und im zweiten Feld (ausgabe) wieder
ausgegeben. Hinweis: die Objektbenennungen sind "case
sensetive", also Groß/Kleinschreibung beachten!
Auffinden von Ein/Ausgabefeldern und
Buttons (<intupt>)
HTML-Text
ändern
Zum Aus-
und Einblenden von HTML-Elementen
gibt es zwei Methoden.
.style.visibility = 'hidden' ---> .style.visibility = 'visible' .style.display = 'none' ---> .style.display = ''
Bei "visibility"
wird das betreffende Element
ausgeblendet, aber die restlichen
Elemente rücken nicht nach, der
Platz bleibt quasi reserviert. Über "display"
wird das HTML-Element komplett
entfernt, andere Elemente rücken in
ihrer Position nach.
Nachteil
von "Visibility": Da der Bereich der
ausgeblendeten Elemente reserviert
bleibt und die übrigen Elemente
nicht nachrücken, kann die Seite zum
Teil recht zerfleddert wirken. Von
daher ist "Display" oft die bessere
Wahl.
Mittels display =
'' kann man das Element wieder
herbeizaubern, was in den aller
meisten Fällen auch zum gewünschten
Ergebnis führt. Wenn nicht, dann
bietet das Neuladen
der Seite eventuell eine Alternative.
Hierbei muss jedoch die
gerade gesetzten Option (sichtbar
oder nicht) beim Neuladen der Seite
zur Verfügung stehen, was über
Local-Storage erledigt werden
kann. Das Ausblenden sollte
unmittelbar nach dem Laden
geschehen, das geht per "window.onload".
Hier mal ein einfaches Beispiel dazu:
In der Vorschau gibt es noch Tabellen und ein Bild...
Möchte
man ein HTML-Element z.B. einen
Button bereits beim Laden
ausblenden, so kann man im
Scriptbereich hinter
Window.OnLoad ein
.style.visibility = 'hidden' absetzen.
Das hat aber zur Folge, dass der
Button beim Laden für einen kurzen
Augenblick zu sehen sein wird, bevor
die Seite komplett geladen wurde und
OnLoad aufgeführt wird. Um
das zu verhindern kann man das
Anzeigen des Buttons direkt im
HTML-Code verhindern und später per
Java-Script bei Bedarf einblenden.
Durch einen Klick auf
den Button "Speichern" wird der Inhalt des
Eingabefeldes in den lokalen Browserspeicher, mit
dem Speichernamen "MeinWert" abgelegt. Durch Klick
auf den Button "Abrufen" wird der Inhalt wieder aus
dem lokalem Speicher geholt und im Ausgabefeld
ausgegeben.
Hinweis: Versucht man eine nicht gesetzte localStorage-Variable abzufragen, so wird "undefined" ausgegeben. Möchte man dies abfangen: siehe hier
Im
Script...
Per
Button...
Aktuelle Uhrzeit und Datum ausgeben Hier auch mal ein sinnvollen Beispiel für den permanenten Aufruf eines Scripts - Ausgabe des aktuellen Datums und Uhrzeit.
Aufruf
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Die Option Drucken funktioniert erst ab Netscape V4.0 bzw. I-Explorer 5.0 !
[letzte Aktualisierung 17.11.2020]