<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=79.240.52.209</id>
	<title>Wikizone - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=79.240.52.209"/>
	<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Spezial:Beitr%C3%A4ge/79.240.52.209"/>
	<updated>2026-05-06T19:48:26Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=JSON&amp;diff=19986</id>
		<title>JSON</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=JSON&amp;diff=19986"/>
		<updated>2013-09-27T13:01:27Z</updated>

		<summary type="html">&lt;p&gt;79.240.52.209: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== JSON - JavaScript Object Notation ==&lt;br /&gt;
&lt;br /&gt;
Kann XML Datenstrukturen ersetzen und hat dabei wesentlich weniger Overhead. Derzeit der Quasi-Standard.&lt;br /&gt;
&lt;br /&gt;
- Lesbar für Menschen&lt;br /&gt;
&lt;br /&gt;
- Einfach zu Parsen für Maschinen&lt;br /&gt;
&lt;br /&gt;
- Leichtgewichtig&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
[[PHP und JSON]]&lt;br /&gt;
&lt;br /&gt;
[[JQuery - AJAX]]&lt;br /&gt;
&lt;br /&gt;
http://json.org/&lt;br /&gt;
&lt;br /&gt;
http://json.org/json-de.html&lt;br /&gt;
&lt;br /&gt;
http://www.jsoneditoronline.org/&lt;br /&gt;
&lt;br /&gt;
== Erweiterungen ==&lt;br /&gt;
GeoJson - Spezifikation für Geoobjekte&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;/div&gt;</summary>
		<author><name>79.240.52.209</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=JQuery_-_AJAX&amp;diff=19985</id>
		<title>JQuery - AJAX</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=JQuery_-_AJAX&amp;diff=19985"/>
		<updated>2013-09-27T13:00:22Z</updated>

		<summary type="html">&lt;p&gt;79.240.52.209: /* JSON Daten über jQuery lesen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Wie funktioniert AJAX ? ==&lt;br /&gt;
&lt;br /&gt;
Früher mußte man bei jeder Anfrage die Webseite komplett neu laden. Auch wenn nur ein kleiner Teil neu benötigt wird (z.B. ein Suchergebnis). Mit AJAX kann man Teile einer Website neu laden. Das funktioniert über ein JavaScript Objekt den sogenannten &amp;#039;&amp;#039;&amp;#039;XML-HTTP Request&amp;#039;&amp;#039;&amp;#039; oder kurz &amp;#039;&amp;#039;&amp;#039;XHR&amp;#039;&amp;#039;&amp;#039;. Dieser kommuniziert quasi am Browser vorbei mit dem Server. &lt;br /&gt;
&lt;br /&gt;
Die alte Kommunikationsart ist Synchron: Eine Anfrage - eine Webseite. Die neue Art ist asynchron. Alle Eigenschaften zusammengefaßt spricht man von &amp;#039;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;#039;synchronous &amp;#039;&amp;#039;&amp;#039;J&amp;#039;&amp;#039;&amp;#039;avaScript &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;nd &amp;#039;&amp;#039;&amp;#039;X&amp;#039;&amp;#039;&amp;#039;ML - AJAX&lt;br /&gt;
&lt;br /&gt;
Übertragen wird immer Klartext, allerdings selten XML-Daten. Heute nutzt man eher HTML-Fragmente oder JSON Daten.&lt;br /&gt;
&lt;br /&gt;
==jQuery und AJAX==&lt;br /&gt;
jQuery bietet eine gute AJAX Unterstützung, und macht es dem Programmierer leicht mit den Besonderheiten der verschiedenen Browser umzugehen. &lt;br /&gt;
&lt;br /&gt;
== Datenanforderung mit jQuery und AJAX ==&lt;br /&gt;
Daten werden vom Server immer im Klartext geliefert und über das http Protokoll übertragen.&lt;br /&gt;
=== Textdatei anfordern ===&lt;br /&gt;
ajax1.html&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
  &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;lib/jquery/jquery.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;script&amp;gt;&lt;br /&gt;
    $(document).ready(function(){&lt;br /&gt;
      $(&amp;quot;button:first&amp;quot;).click(function(){&lt;br /&gt;
        $.get(&amp;quot;ajax.txt&amp;quot;, function(data){&lt;br /&gt;
          $(&amp;quot;#ausgabe&amp;quot;).text(data);&lt;br /&gt;
        });&lt;br /&gt;
      });&lt;br /&gt;
      $(&amp;quot;button:eq(1)&amp;quot;).click(function(){&lt;br /&gt;
        $.post(&amp;quot;ajax.txt&amp;quot;, function(data){&lt;br /&gt;
          $(&amp;quot;#ausgabe&amp;quot;).text(data);&lt;br /&gt;
        });			 &lt;br /&gt;
      });&lt;br /&gt;
    });&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
	&amp;lt;button&amp;gt;AJAX-Anfrage mit $.get()&amp;lt;/button&amp;gt;&lt;br /&gt;
	&amp;lt;button&amp;gt;AJAX-Anfrage mit $.post()&amp;lt;/button&amp;gt;&lt;br /&gt;
	&amp;lt;div id=&amp;quot;ausgabe&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ajax.txt&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Es gibt zwei Sachen, denen ich mir völlig sicher bin. Erstens: Männer sind viel schlauer als Frauen! Und zweitens? Die Erde ist flach. Genau.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Erklärung:&lt;br /&gt;
&lt;br /&gt;
Die 2 Buttons bekommen eine Klickfunktion zugewiesen. &lt;br /&gt;
Button 1 führt einen AJAX Request über GET aus. Button 2 über Post ($.get() bzw. $.post()). Als Parameter enthält die Funktion die Datei und eine weitere Funktion (oder Referenz auf eine Funktion). Diese neue Funktion bekommt als Parameter die erhaltenen Daten und schreibt sie in das div mit der id #ausgabe.&lt;br /&gt;
&lt;br /&gt;
=== HTML Anfordern ===&lt;br /&gt;
Enthält die Antwort HTML Daten sollte der Browser sie auch so interpretieren. Dazu kann man jQuery direkt mitteilen, dass es sich um HTML Daten handelt. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//$(&amp;quot;#ausgabe&amp;quot;).text(data);&lt;br /&gt;
$(&amp;quot;#ausgabe&amp;quot;).html(data);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kommunikation mit dem Server über AJAX und jQuery ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ajax.html&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;script type=&amp;quot;text/javascript&amp;quot; &lt;br /&gt;
      src=&amp;quot;lib/jquery/jquery.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
    &amp;lt;script&amp;gt;&lt;br /&gt;
      $(document).ready(function(){&lt;br /&gt;
        $(&amp;quot;button:first&amp;quot;).click(function(){&lt;br /&gt;
          $.get(&amp;quot;login_get.php&amp;quot;,  &lt;br /&gt;
            { &lt;br /&gt;
              username: $(&amp;quot;input:first&amp;quot;).val(), &lt;br /&gt;
              password: $(&amp;quot;input:last&amp;quot;).val() &lt;br /&gt;
            }, &lt;br /&gt;
            function(data){&lt;br /&gt;
             $(&amp;quot;#ausgabe&amp;quot;).html(data);&lt;br /&gt;
            }&lt;br /&gt;
          );&lt;br /&gt;
        });&lt;br /&gt;
        $(&amp;quot;button:last&amp;quot;).click(function(){&lt;br /&gt;
          $.post(&amp;quot;login_post.php&amp;quot;,  &lt;br /&gt;
            { &lt;br /&gt;
              username: $(&amp;quot;input:first&amp;quot;).val(), &lt;br /&gt;
              password: $(&amp;quot;input:last&amp;quot;).val() &lt;br /&gt;
            }, &lt;br /&gt;
            function(data){&lt;br /&gt;
             $(&amp;quot;#ausgabe&amp;quot;).html(data);&lt;br /&gt;
            }&lt;br /&gt;
          );&lt;br /&gt;
        });&lt;br /&gt;
      });&lt;br /&gt;
    &amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;h1&amp;gt;Bitte Benutzername und Passwort eingeben&amp;lt;/h1&amp;gt;&lt;br /&gt;
    &amp;lt;form name=&amp;quot;f1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;table width=&amp;quot;200&amp;quot; border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
          &amp;lt;td&amp;gt;Name&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; size=&amp;quot;30&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
          &amp;lt;td&amp;gt;Passwort&amp;lt;/td&amp;gt;&lt;br /&gt;
          &amp;lt;td&amp;gt;&amp;lt;input type=&amp;quot;password&amp;quot; size=&amp;quot;30&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;/table&amp;gt;&lt;br /&gt;
    &amp;lt;/form&amp;gt;&lt;br /&gt;
    &amp;lt;button&amp;gt;AJAX-Login mit $.get()&amp;lt;/button&amp;gt;&lt;br /&gt;
    &amp;lt;button&amp;gt;AJAX-Login mit $.post()&amp;lt;/button&amp;gt;&lt;br /&gt;
    &amp;lt;div id=&amp;quot;ausgabe&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Aufruf erfolgt fast gleich. Nur werden in diesem Fall 3 Parameter übergeben. &lt;br /&gt;
1. Der Name des Skriptes. 2. Die Daten die übermittelt werden. 3. Eine (anonyme) Funktion die die Antwort des Servers verarbeitet.&lt;br /&gt;
&lt;br /&gt;
Interessant ist also Parameter2. Hier wird einfach wie in jQuery an vielen Stellen üblich mit einem Optionen-Objekt gearbeitet. Dieses enthält die Deklarationen der Übergabewerte in der Form&lt;br /&gt;
&lt;br /&gt;
 bezeichner : wert&lt;br /&gt;
&lt;br /&gt;
ln diesem Fall ist der Wert die Eingabe der HTML Input Felder (hier das erste Input der Seite).&lt;br /&gt;
&lt;br /&gt;
 username : $(&amp;quot;input:first&amp;quot;).val(), &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;login_get.php&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
$host = &amp;quot;localhost&amp;quot;; // Der MySQL-Server&lt;br /&gt;
$user = &amp;quot;root&amp;quot;;// Der Datenbank Benutzername&lt;br /&gt;
$password = &amp;quot;&amp;quot;; // Das Passwort für die Datenbank&lt;br /&gt;
$dbname = &amp;quot;jquery&amp;quot;; // Der Name der Datenbank&lt;br /&gt;
$tabelle =&amp;quot;logindaten&amp;quot;; // Der Name der Tabelle&lt;br /&gt;
$loginrichtig =false;&lt;br /&gt;
$dbverbindung = mysql_connect ($host, $user, $password);&lt;br /&gt;
$dbanfrage = &amp;quot;SELECT * from $tabelle&amp;quot;;&lt;br /&gt;
$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);&lt;br /&gt;
while ($ausgabe = mysql_fetch_array ($result)) {&lt;br /&gt;
if (($ausgabe[&amp;#039;username&amp;#039;] == $_GET[&amp;#039;username&amp;#039;]) &amp;amp;&amp;amp; ($ausgabe[&amp;#039;password&amp;#039;] == $_GET[&amp;#039;password&amp;#039;]) )&lt;br /&gt;
   {$loginrichtig=true; &lt;br /&gt;
	 break;&lt;br /&gt;
    }&lt;br /&gt;
} &lt;br /&gt;
if($loginrichtig) {&lt;br /&gt;
  echo &amp;quot;Login erfolgreich&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
else {&lt;br /&gt;
  echo &amp;quot;Leider war ihr Login nicht erfolgreich, bitte &amp;amp;uuml;berpr&amp;amp;uuml;fen sie ihre Eingaben.&amp;quot;; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
mysql_close ($dbverbindung);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auf Seite des PHP-Skriptes kommen die Daten als GET oder POST Variablen an (Hier GET). &lt;br /&gt;
&lt;br /&gt;
Als Antwort erwartet AJAX ja Klartext. Das bedeutet wir können einfach eine ganz normale Ausgabe über Echo machen. Möchten wir Daten zurückgeben muß das ebenfalls über Klartext funktionieren. Dazu können wir dann z.B. JSON oder XML nehmen. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kommunikation über JSON ==&lt;br /&gt;
Eine gute Methode Strukturierte Daten (Objekte, Arrays, etc.) zu übertragen ist JSON. JSON ist eine Methode strukturierte Daten als platzsparenden String zu speichern, der trotzdem für den Menschen lesbar bleibt, aber auch vom Rechner leicht verarbeitet werden kann.&lt;br /&gt;
&lt;br /&gt;
=== JSON - Daten ===&lt;br /&gt;
So sieht es aus.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ajax.json&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{ &lt;br /&gt;
  &amp;quot;name&amp;quot; : &amp;quot;Stephan Schlegel&amp;quot;, &lt;br /&gt;
  &amp;quot;beruf&amp;quot; : &amp;quot;Dipl Ing audiovisuelle Medien&amp;quot;,&lt;br /&gt;
  &amp;quot;ort&amp;quot; : &amp;quot;Nürtingen&amp;quot;,&lt;br /&gt;
  &amp;quot;webseiten&amp;quot; :	 { &lt;br /&gt;
    &amp;quot;url1&amp;quot; : &amp;quot;www.geo-bit.de&amp;quot;, &lt;br /&gt;
    &amp;quot;url2&amp;quot; : &amp;quot;www.3d-relief.com&amp;quot;, &lt;br /&gt;
    &amp;quot;url3&amp;quot; : &amp;quot;www.ko-rockband.de&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Prinzip ist es wieder ein Objekt indem es Bezeichner und Wertzuweisungen gibt. Im Fall Webseiten ist der Wert wiederum ein Objekt, bestehend aus Bezeichnern und Werten.&lt;br /&gt;
&lt;br /&gt;
=== JSON Daten über jQuery lesen ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;script type=&amp;quot;text/javascript&amp;quot;  src=&amp;quot;lib/jquery/jquery.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
    &amp;lt;script&amp;gt;&lt;br /&gt;
      $(document).ready(function(){&lt;br /&gt;
        $(&amp;quot;button:first&amp;quot;).click(function(){&lt;br /&gt;
          $.getJSON(&amp;quot;ajax.json&amp;quot;, function(data){&lt;br /&gt;
            $(&amp;quot;#ausgabe&amp;quot;).append(data.name + &amp;quot;, &amp;quot; + data.webseiten.url1);&lt;br /&gt;
          });&lt;br /&gt;
        });&lt;br /&gt;
      });&lt;br /&gt;
    &amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;button&amp;gt;getJSON&amp;lt;/button&amp;gt;&lt;br /&gt;
    &amp;lt;div id=&amp;quot;ausgabe&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Daten werden über getJSON geladen:&lt;br /&gt;
 $.getJSON(&amp;quot;ajax.json&amp;quot;, function(data){ $(&amp;quot;#ausgabe&amp;quot;).append(data.name + &amp;quot;, &amp;quot; + data.webseiten.url1); });&lt;br /&gt;
 $.getJSON(&amp;quot;Datei&amp;quot;, meineFunktion(data));&lt;br /&gt;
&lt;br /&gt;
An die Funktion wird das Bezeichner-Objekt data übergeben und über dieses kann man auf die enthaltenen Daten zugreifen. Hier z.B. auf Name oder die erste URL.&lt;br /&gt;
&lt;br /&gt;
 data.name&lt;br /&gt;
 data.webseiten.url1&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Hinweis:&amp;#039;&amp;#039;&amp;#039; über die getJSON Funktion werden die Daten direkt in ein jQuery Objekt umgewandelt. Über get und post würde man einfach den Text bekommen. Man kann aber einen JSON String auch nachträglich umwandeln. Dafür gibt es die jQuery Funkion parseJSON(json).&lt;br /&gt;
&lt;br /&gt;
==== Beispiel Datensätze aus einem JSON Objekt verarbeiten mit each ====&lt;br /&gt;
&lt;br /&gt;
Beispiel einer Funktion aus dem 3d-relief map-editor. Im Beispiel wird ein Dropdown-Feld erzeugt, in dem sich alle Produkte auswählen lassen. Zusätzlich wird ein Click Handler registriert. Der bei Klick wiederum eine JS Funktion &amp;quot;loadMap&amp;quot; ausführt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
$.getJSON(&amp;quot;dataHandler.php&amp;quot;,{action:&amp;quot;loadMaps&amp;quot;},function(data){&lt;br /&gt;
	//mapData = data;&lt;br /&gt;
	createMapSelector(data);&lt;br /&gt;
});&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Übergeben wird das Data Objekt an diese Funktion&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
function createMapSelector(data){&lt;br /&gt;
	$(&amp;quot;#map_selector_wrap&amp;quot;).html(&amp;#039;&amp;lt;div&amp;gt;&amp;lt;h3&amp;gt;Select Relief Map&amp;lt;/h3&amp;gt;&amp;lt;select id=&amp;quot;map_selector&amp;quot; name=&amp;quot;map_selector&amp;quot;&amp;gt;&amp;#039;);&lt;br /&gt;
	$(&amp;quot;#map_selector&amp;quot;).append(&amp;#039;&amp;lt;option value=&amp;quot;na&amp;quot;&amp;gt;Select product to view details&amp;lt;/option&amp;gt;&amp;#039;);&lt;br /&gt;
	$.each(data,function(key,obj){&lt;br /&gt;
		if(obj.products_name != null)&lt;br /&gt;
			$(&amp;quot;#map_selector&amp;quot;).append(&amp;#039;&amp;lt;option value=&amp;quot;&amp;#039; + obj.products_id + &amp;#039;&amp;quot;&amp;gt;&amp;#039; + obj.products_name + &amp;#039;&amp;lt;/option&amp;gt;&amp;#039;);&lt;br /&gt;
	});&lt;br /&gt;
	$(&amp;quot;#map_selector_wrap&amp;quot;).append(&amp;#039;&amp;lt;/select&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;);&lt;br /&gt;
	// click handler for selector&lt;br /&gt;
	$(&amp;quot;#map_selector&amp;quot;).change(function(){&lt;br /&gt;
  		actID=$(&amp;quot;#map_selector option:selected&amp;quot;).val()&lt;br /&gt;
  		if(actID != &amp;quot;na&amp;quot;)&lt;br /&gt;
  			loadMap(actID);&lt;br /&gt;
  	});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JSON Daten Senden ===&lt;br /&gt;
Daten aus einem Formular kann man einfach z.B. an ein PHP Skript senden&lt;br /&gt;
&lt;br /&gt;
=== JSON Daten von fremden Servern ===&lt;br /&gt;
Normalerweise holt JavaScript Daten nur vom gleichen Server, auf dem das Skript läuft. Dies kann man mit JSONP umgehen.&lt;br /&gt;
Das etwas umfangreichere Beispiel liest Twitterdaten über JSON und die Twitter API.&lt;br /&gt;
&lt;br /&gt;
[[jQuery und JSONP - Tweets von Twitter lesen]]&lt;br /&gt;
&lt;br /&gt;
siehe auch nächstes Beispiel &amp;quot;JavaScript&amp;quot; nachladen.&lt;br /&gt;
&lt;br /&gt;
=== JavaScript nachladen ===&lt;br /&gt;
Mit jQuery kann man JavaScripte nachladen. Die enthaltenen Statements werden automatisch ausgeführt, bzw. enthaltene Funktionen verfügbar gemacht.&lt;br /&gt;
So kann man sehr schön seine Funktionen auf mehrere Bibliotheken aufteilen und bei Bedarf laden. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$.getScript(&amp;quot;ajax/test.js&amp;quot;, function(data, textStatus, jqxhr) {&lt;br /&gt;
   console.log(data); //data returned&lt;br /&gt;
   console.log(textStatus); //success&lt;br /&gt;
   console.log(jqxhr.status); //200&lt;br /&gt;
   console.log(&amp;#039;Load was performed.&amp;#039;);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ajax.html&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;script type=&amp;quot;text/javascript&amp;quot; &lt;br /&gt;
      src=&amp;quot;lib/jquery/jquery.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
    &amp;lt;script&amp;gt;&lt;br /&gt;
      $(document).ready(function(){&lt;br /&gt;
        $(&amp;quot;button:first&amp;quot;).click(function(){&lt;br /&gt;
          $.getScript(&amp;quot;zufall.js&amp;quot;, function(){&lt;br /&gt;
            $(&amp;quot;#ausgabe&amp;quot;).text(zufallsZahl());&lt;br /&gt;
          });&lt;br /&gt;
        });&lt;br /&gt;
        $(&amp;quot;button:last&amp;quot;).click(function(){&lt;br /&gt;
          $.getScript(&amp;quot;http://mydomain.de/jquery/zufall.js&amp;quot;, function(){&lt;br /&gt;
            $(&amp;quot;#ausgabe&amp;quot;).text(zufallsZahl());&lt;br /&gt;
          });&lt;br /&gt;
        });&lt;br /&gt;
      });&lt;br /&gt;
    &amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
	&amp;lt;button&amp;gt;Lade Skript von gleicher Domain&amp;lt;/button&amp;gt;&lt;br /&gt;
	&amp;lt;button&amp;gt;Lade Skript von fremder Domain&amp;lt;/button&amp;gt;&lt;br /&gt;
	&amp;lt;div id=&amp;quot;ausgabe&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;zufall.js&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function zufallsZahl(){&lt;br /&gt;
  return Math.random();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>79.240.52.209</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=JQuery_-_Snippets&amp;diff=19984</id>
		<title>JQuery - Snippets</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=JQuery_-_Snippets&amp;diff=19984"/>
		<updated>2013-09-27T12:57:29Z</updated>

		<summary type="html">&lt;p&gt;79.240.52.209: /* Formulare */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nützliche jQuery Schnipsel&lt;br /&gt;
== Grundgerüst zum testen ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
	&amp;lt;meta content=&amp;quot;text/html; charset=ISO-8859-1&amp;quot; http-equiv=&amp;quot;content-type&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;title&amp;gt;Test&amp;lt;/title&amp;gt;&lt;br /&gt;
	&amp;lt;script src=&amp;quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
  	&amp;lt;script src=&amp;quot;http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;	&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
function newFunc(myParam){&lt;br /&gt;
	alert(&amp;#039;hello world&amp;#039;)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;Testpage&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Links ==&lt;br /&gt;
[[JavaScript - Snippets]]&lt;br /&gt;
&lt;br /&gt;
http://css-tricks.com/snippets/jquery/&lt;br /&gt;
&lt;br /&gt;
=== jQuery Countdown Scripts ===&lt;br /&gt;
http://www.tripwiremagazine.com/2012/01/jquery-countdown-scripts.html&lt;br /&gt;
&lt;br /&gt;
== Formulare ==&lt;br /&gt;
Siehe auch [[JQuery - AJAX]]&lt;br /&gt;
=== GET-Variable in URL auslesen ===&lt;br /&gt;
Diese muß extrahiert werden.&lt;br /&gt;
&lt;br /&gt;
Beispiel 1:&lt;br /&gt;
&lt;br /&gt;
Quelle: http://jquery-howto.blogspot.de/2009/09/get-url-parameters-values-with-jquery.html (Zugriff: 2013/01)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Read a page&amp;#039;s GET URL variables and return them as an associative array.&lt;br /&gt;
function getUrlVars()&lt;br /&gt;
{&lt;br /&gt;
    var vars = [], hash;&lt;br /&gt;
    var hashes = window.location.href.slice(window.location.href.indexOf(&amp;#039;?&amp;#039;) + 1).split(&amp;#039;&amp;amp;&amp;#039;);&lt;br /&gt;
    for(var i = 0; i &amp;lt; hashes.length; i++)&lt;br /&gt;
    {&lt;br /&gt;
        hash = hashes[i].split(&amp;#039;=&amp;#039;);&lt;br /&gt;
        vars.push(hash[0]);&lt;br /&gt;
        vars[hash[0]] = hash[1];&lt;br /&gt;
    }&lt;br /&gt;
    return vars;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kurzform:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function getUrlVars()&lt;br /&gt;
{&lt;br /&gt;
return window.location.href.slice(window.location.href.indexOf(&amp;#039;?&amp;#039;)).split(/[&amp;amp;?]{1}[\w\d]+=/);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aufruf von:&lt;br /&gt;
 http://www.example.com/?me=myValue&amp;amp;name2=SomeOtherValue&lt;br /&gt;
&lt;br /&gt;
ergibt folgendes Array:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;me&amp;quot;    : &amp;quot;myValue&amp;quot;,&lt;br /&gt;
    &amp;quot;name2&amp;quot; : &amp;quot;SomeOtherValue&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hinweis: Bei mir funktionierte es nicht mit Aufruf ohne Parameter. Dann entsteht nur ein nicht assoziatives Array. Das liegt wahrscheinlich daran, daß JavaScript eigentlich keine assoziativen Arrays kennt. Folgender Aufruf funktioniert aber:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var first = getUrlVars()[&amp;quot;me&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
// To get the second parameter&lt;br /&gt;
var second = getUrlVars()[&amp;quot;name2&amp;quot;];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beispiel 2:&lt;br /&gt;
&lt;br /&gt;
Etwas älteres Beispiel von: http://www.tutorials.de/javascript-ajax/149174-probleme-mit-dem-auslesen-von-variablen.html (Zugriff 2013/01)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;SCRIPT type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
HTTP_GET_VARS=new Array();&lt;br /&gt;
strGET=document.location.search.substr(1,document.location.search.length);&lt;br /&gt;
if(strGET!=&amp;#039;&amp;#039;)&lt;br /&gt;
    {&lt;br /&gt;
    gArr=strGET.split(&amp;#039;&amp;amp;&amp;#039;);&lt;br /&gt;
    for(i=0;i&amp;lt;gArr.length;++i)&lt;br /&gt;
        {&lt;br /&gt;
        v=&amp;#039;&amp;#039;;vArr=gArr[i].split(&amp;#039;=&amp;#039;);&lt;br /&gt;
        if(vArr.length&amp;gt;1){v=vArr[1];}&lt;br /&gt;
        HTTP_GET_VARS[unescape(vArr[0])]=unescape(v);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
function GET(v)&lt;br /&gt;
{&lt;br /&gt;
if(!HTTP_GET_VARS[v]){return &amp;#039;undefined&amp;#039;;}&lt;br /&gt;
return HTTP_GET_VARS[v];&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
document.writeln (&amp;#039;Erste Var:&amp;#039; + GET(&amp;#039;text&amp;#039;) + &amp;#039; du&amp;#039;);&lt;br /&gt;
document.writeln (&amp;#039;Zweite Var:&amp;#039; + GET(&amp;#039;text2&amp;#039;) + &amp;#039; da draussen&amp;#039;);&lt;br /&gt;
// --&amp;gt;&lt;br /&gt;
&amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fokus auf erstes Input-Feld im Formular setzen ===&lt;br /&gt;
 // focus on the first text input field on the page&lt;br /&gt;
 $(&amp;quot;input[type=&amp;#039;text&amp;#039;]:first&amp;quot;, document.forms[0]).focus();&lt;br /&gt;
&lt;br /&gt;
=== Werte von Formularen auslesen ===&lt;br /&gt;
http://www.beier-christian.eu/blog/weblog/jquery-ausgewahlte-option-aus-select-box-auslesen/&lt;br /&gt;
&lt;br /&gt;
==== Select Boxen ====&lt;br /&gt;
Hinweis, vieles ist natürlich auch mit anderen Elementen möglich.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;label for=&amp;quot;obst&amp;quot;&amp;gt;Obst&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;select name=&amp;quot;obst&amp;quot; id=&amp;quot;obst&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;Orange&amp;lt;/option&amp;gt;&lt;br /&gt;
  &amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;Apfel&amp;lt;/option&amp;gt;&lt;br /&gt;
  &amp;lt;option value=&amp;quot;3&amp;quot;&amp;gt;Banane&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/select&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wert auslesen&lt;br /&gt;
 $(&amp;#039;select#obst&amp;#039;).val();&lt;br /&gt;
&lt;br /&gt;
Text des Wertes auslesen&lt;br /&gt;
 $(&amp;#039;select#obst :selected&amp;#039;).text();&lt;br /&gt;
&lt;br /&gt;
Text mehrerer gewählter Optionen ausgeben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$(&amp;#039;select#obst :selected&amp;#039;).each(function(i, option) {&lt;br /&gt;
  // Verarbeitung der Optionen&lt;br /&gt;
  alert(option.value + &amp;#039; &amp;#039; + option.text);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Beispiel: Alle gewählten Werte bei Veränderung in ein div (id=message) schreiben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$(&amp;quot;select&amp;quot;).change(function () {&lt;br /&gt;
  var str = &amp;quot;&amp;quot;;&lt;br /&gt;
  $(&amp;quot;select option:selected&amp;quot;).each(function () {&lt;br /&gt;
    str += $(this).text();&lt;br /&gt;
  });&lt;br /&gt;
  $(&amp;quot;div#message&amp;quot;).text(str);&lt;br /&gt;
}).change(); &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Checkboxen ====&lt;br /&gt;
Links:&lt;br /&gt;
http://technosophos.com/node/223 (Zugriff 07-2012)&lt;br /&gt;
&lt;br /&gt;
Beispiele&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Checked ? Returns a boolean, true if checked, false otherwise&lt;br /&gt;
jQuery(&amp;#039;#my-checkbox&amp;#039;).is(&amp;#039;:checked&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
// Check checkbox - this sets the attribute checked=&amp;quot;checked&amp;quot;&lt;br /&gt;
jQuery(&amp;#039;#my-checkbox&amp;#039;).attr(&amp;#039;checked&amp;#039;,&amp;#039;checked&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
// Uncheck checkbox (right way)&lt;br /&gt;
jQuery(&amp;#039;#my-checkbox&amp;#039;).removeAttr(&amp;#039;checked&amp;#039;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Check / Uncheck everything&lt;br /&gt;
&lt;br /&gt;
// Check anything that is not already checked:&lt;br /&gt;
jQuery(&amp;#039;:checkbox:not(:checked)&amp;#039;).attr(&amp;#039;checked&amp;#039;, &amp;#039;checked&amp;#039;);&lt;br /&gt;
 &lt;br /&gt;
// Remove the checkbox&lt;br /&gt;
jQuery(&amp;#039;:checkbox:checked&amp;#039;).removeAttr(&amp;#039;checked&amp;#039;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kleines Hide Show Script wenn eine Checkbox ausgewählt ist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
			$(&amp;quot;input[name=&amp;#039;calib_as_offered&amp;#039;]&amp;quot;).change(function() {&lt;br /&gt;
				if ($(&amp;quot;input[name=&amp;#039;calib_as_offered&amp;#039;]&amp;quot;).is(&amp;quot;:checked&amp;quot;)){&lt;br /&gt;
					$(&amp;quot;#contact_address&amp;quot;).show();&lt;br /&gt;
					$(&amp;quot;#offer_nr_wrap&amp;quot;).show();&lt;br /&gt;
				} &lt;br /&gt;
				else {&lt;br /&gt;
					$(&amp;quot;#contact_address&amp;quot;).hide();&lt;br /&gt;
					$(&amp;quot;#offer_nr_wrap&amp;quot;).hide();					&lt;br /&gt;
				}&lt;br /&gt;
			});&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Radio Buttons ====&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Change Listener für Radio Buttons&amp;#039;&amp;#039;&amp;#039; (Quelle: http://stackoverflow.com/questions/10167395/how-can-i-attach-a-listener-to-multiple-radio-buttons Zugriff: 2013-08)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$(&amp;#039;input:radio&amp;#039;).on(&amp;#039;change&amp;#039;, function(){&lt;br /&gt;
    //access value of changed radio group with $(this).val()&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Quelle der folgenden Beispiele: http://mabraham.de/jquery-radio-buttons-auslesen-und-manipulieren/ (Zugriff 2013-08)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Wert (value) einer Radio Group auslesen.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$(&amp;#039;#radio-button-value&amp;#039;).click(function(){&lt;br /&gt;
    alert($(&amp;quot;input[name=&amp;#039;radio-button-gruppe&amp;#039;]:checked&amp;quot;).val());&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Radio Button gewählt checked ?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$(&amp;#039;#radio-button-is-set&amp;#039;).click(function(){&lt;br /&gt;
    alert(typeof $(&amp;quot;input[name=&amp;#039;radio-button-gruppe&amp;#039;]:checked&amp;quot;).val() != &amp;#039;undefined&amp;#039;);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Radio Button anhand seiner Id auswählen (check)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$(&amp;#039;#radio-checked-by-id&amp;#039;).click(function(){&lt;br /&gt;
    $(&amp;quot;#gruppe1&amp;quot;).attr(&amp;quot;checked&amp;quot;,&amp;quot;checked&amp;quot;);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Radio Button über Wert auswählen (check) &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$(&amp;#039;#radio-checked-by-value&amp;#039;).click(function(){&lt;br /&gt;
    $(&amp;quot;input[name=&amp;#039;radio-button-gruppe&amp;#039;][value=&amp;#039;2&amp;#039;]&amp;quot;).attr(&amp;quot;checked&amp;quot;,&amp;quot;checked&amp;quot;);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Radio Button abwählen&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$(&amp;#039;#radio-uncheck&amp;#039;).click(function(){&lt;br /&gt;
    $(&amp;quot;input[name=&amp;#039;radio-button-gruppe&amp;#039;]:checked&amp;quot;).removeAttr(&amp;quot;checked&amp;quot;);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Browser ==&lt;br /&gt;
=== Resize des Browserfensters feststellen ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; charset=&amp;quot;utf-8&amp;quot; src=&amp;quot;https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
$(document).ready(function(){&lt;br /&gt;
 &lt;br /&gt;
//If the User resizes the window, adjust the #container height&lt;br /&gt;
$(window).bind(&amp;quot;resize&amp;quot;, resizeWindow);&lt;br /&gt;
function resizeWindow( e ) {&lt;br /&gt;
	var newWindowHeight = $(window).height();&lt;br /&gt;
	$(&amp;quot;#container&amp;quot;).css(&amp;quot;min-height&amp;quot;, newWindowHeight );&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
});			&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Templates - Vorlagen ==&lt;br /&gt;
=== XHTML 1.0 Template mit jQuery ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Strict//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
	&amp;lt;meta http-equiv=&amp;quot;content-type&amp;quot; content=&amp;quot;text/html; charset=utf-8&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;title&amp;gt;Title goes here &amp;amp;raquo; Site title here&amp;lt;/title&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- Meta Tags --&amp;gt;&lt;br /&gt;
	&amp;lt;base href=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta name=&amp;quot;author&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta name=&amp;quot;copyright&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta name=&amp;quot;generator&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta http-equiv=&amp;quot;expires&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta http-equiv=&amp;quot;cache-control&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;!-- Fav icon --&amp;gt;&lt;br /&gt;
	&amp;lt;link rel=&amp;quot;shortcut icon&amp;quot; href=&amp;quot;/favicon.ico&amp;quot; type=&amp;quot;image/x-icon&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- JavaScript setup --&amp;gt;&lt;br /&gt;
	&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
	/*&amp;lt;![CDATA[*/&lt;br /&gt;
	// add &amp;#039;js&amp;#039; class to root element to nicely allow css that degrades gracefully if js is disabled&lt;br /&gt;
	document.getElementsByTagName(&amp;#039;html&amp;#039;)[0].className = &amp;#039;js&amp;#039;;&lt;br /&gt;
	/*]]&amp;gt;*/&lt;br /&gt;
	&amp;lt;/script&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;!-- CSS --&amp;gt;&lt;br /&gt;
	&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/stylesheets/screen.css&amp;quot; type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen, projection&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/stylesheets/print.css&amp;quot; type=&amp;quot;text/css&amp;quot; media=&amp;quot;print&amp;quot; /&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;!--[if IE]&amp;gt;&lt;br /&gt;
	&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/stylesheets/ie-all.css&amp;quot; type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen, projection&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;![endif]--&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
	&amp;lt;div id=&amp;quot;container&amp;quot;&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
		&amp;lt;div id=&amp;quot;header&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;h1&amp;gt;Title of page goes here&amp;lt;/h1&amp;gt;&lt;br /&gt;
			&amp;lt;h2&amp;gt;Subtitle of page goes here&amp;lt;/h2&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&amp;lt;!-- end header div --&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;div id=&amp;quot;nav&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;ul class=&amp;quot;menu&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Link #1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Link #2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Link #3&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;/ul&amp;gt;&lt;br /&gt;
			&amp;lt;ul class=&amp;quot;breadcrumbs&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Home&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Sub directory&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Current page&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;/ul&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&amp;lt;!-- end nav div --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;div id=&amp;quot;main&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;ul class=&amp;quot;sidebar&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Sidebar link #1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Sidebar link #2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
			&amp;lt;div id=&amp;quot;sub1&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;h3&amp;gt;Title of content&amp;lt;/h3&amp;gt;&lt;br /&gt;
				&amp;lt;p&amp;gt;Begin content here&amp;lt;/p&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
			&amp;lt;div id=&amp;quot;sub2&amp;quot; class=&amp;quot;hide&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;h3&amp;gt;Title of content&amp;lt;/h3&amp;gt;&lt;br /&gt;
				&amp;lt;p&amp;gt;Begin content here&amp;lt;/p&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&amp;lt;!-- end main div --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;div id=&amp;quot;footer&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;p&amp;gt;&amp;amp;copy;2XXX company name here. Creative Commons link, your own link, validation, etc.&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&amp;lt;!-- end footer div --&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
	&amp;lt;/div&amp;gt;&amp;lt;!-- end container div --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;/scripts/app.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;!-- place Google Analytics code here --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== JavaScript nachladen während die Seite schon angezeigt wird ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Add this onDocumentReady function to the end of the jQuery.js file. &lt;br /&gt;
// It MUST be in the jquery file to work correctly.&lt;br /&gt;
$(function(){&lt;br /&gt;
	var scripts = /\?(.*)/, files = [], path = /^.*\//, loaded = 0, count = 0;&lt;br /&gt;
 &lt;br /&gt;
	$(&amp;#039;script&amp;#039;).each(function(){&lt;br /&gt;
		var src = $(this).attr(&amp;#039;src&amp;#039;);&lt;br /&gt;
		if (!scripts.test(src)) return;&lt;br /&gt;
		var pathto = src.match(path);&lt;br /&gt;
		files = files.concat($.map(src.match(scripts).pop().split(&amp;#039;,&amp;#039;), function(e,i){&lt;br /&gt;
			return pathto+e+&amp;#039;.js&amp;#039;&lt;br /&gt;
		}));&lt;br /&gt;
	})&lt;br /&gt;
 &lt;br /&gt;
	count = files.length;&lt;br /&gt;
 &lt;br /&gt;
	$.each(files, function(){&lt;br /&gt;
		$.getScript(this, function(){&lt;br /&gt;
			loaded++;&lt;br /&gt;
			if(loaded == count &amp;amp;&amp;amp; typeof onBackload == &amp;#039;function&amp;#039;)&lt;br /&gt;
				onBackload(loaded)&lt;br /&gt;
		})&lt;br /&gt;
	})&lt;br /&gt;
});&lt;br /&gt;
 &lt;br /&gt;
/**&lt;br /&gt;
 * If you have the following script tags:&lt;br /&gt;
 * 	&amp;lt;script src=&amp;quot;/path/to/jquery.min.js?somefile,otherfile.min,thirdfile&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
 * 	&amp;lt;script src=&amp;quot;/other/path/foo.js?different.file,final.file&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
 * This script will &amp;quot;backload&amp;quot; the following files:&lt;br /&gt;
 * 	/path/to/somefile.js&lt;br /&gt;
 *	/path/to/otherfile.min.js&lt;br /&gt;
 * 	/path/to/thirdfile.js&lt;br /&gt;
 * 	/other/path/different.file.js&lt;br /&gt;
 *	/other/path/final.file.js&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
// And if you declare a function named &amp;quot;onBackload&amp;quot;, it will be fired when all the scripts are loaded&lt;br /&gt;
// This is handy for getting things going once you&amp;#039;re confident your scripts have all been included.&lt;br /&gt;
function onBackload(loaded){&lt;br /&gt;
	alert(&amp;#039;All &amp;#039; + loaded + &amp;#039; files backloaded!&amp;#039;)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DOM Manipulation ==&lt;br /&gt;
=== Einfaches Rollover Hide Show Skript ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
	/*&amp;lt;![CDATA[*/&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
//var j = jQuery.noConflict();&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    hideAllItems();	&lt;br /&gt;
&lt;br /&gt;
    $(&amp;quot;h5&amp;quot;).hover( &lt;br /&gt;
      function () {&lt;br /&gt;
         showItem($(this));&lt;br /&gt;
      }, &lt;br /&gt;
      function () {&lt;br /&gt;
        hideItem($(this));&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
    );&lt;br /&gt;
 &lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
function hideAllItems(){&lt;br /&gt;
    $(&amp;quot;.bodytext&amp;quot;).hide();	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function showItem(myItem){&lt;br /&gt;
      myItem.next().fadeIn(250);&lt;br /&gt;
      myItem.parent().addClass(&amp;quot;topLine&amp;quot;);&lt;br /&gt;
    //myItem.parents().append($(&amp;quot;&amp;lt;span&amp;gt; ***&amp;lt;/span&amp;gt;&amp;quot;));&lt;br /&gt;
    //myItem.parents().(&amp;quot;p&amp;quot;).fadeIn(250);&lt;br /&gt;
    //myItem.parents().append($(&amp;quot;&amp;lt;span&amp;gt; ***&amp;lt;/span&amp;gt;&amp;quot;));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function hideItem(myItem){&lt;br /&gt;
    myItem.next().fadeOut(250);&lt;br /&gt;
    myItem.parent().removeClass(&amp;quot;topLine&amp;quot;);&lt;br /&gt;
    //hideAllItems();&lt;br /&gt;
    //myItem.find(&amp;quot;span:last&amp;quot;).remove();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
// --&amp;gt;&lt;br /&gt;
	/*]]&amp;gt;*/&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siehe auch: [[Media:Maphilight-sample01.zip]]‎&lt;br /&gt;
&lt;br /&gt;
Hinweis: damit fadeIn oder show funktionieren indem jQuery den Stil display: none und display: block hinzufügt. Eventuell muß das Element zuerst mit hide() o.ä. versteckt werden. Z.B.:&lt;br /&gt;
 $(&amp;quot;.myElement&amp;quot;).hide().fadeIn(500);&lt;br /&gt;
vorsicht mit visibility: hidden im CSS. Dies führt dazu, daß man das Element trotz show() nicht sieht.&lt;br /&gt;
&lt;br /&gt;
===Append Site Overlay DIV===&lt;br /&gt;
&lt;br /&gt;
Quelle: http://css-tricks.com/snippets/jquery/append-site-overlay-div/ (11/2011)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$(function() {&lt;br /&gt;
&lt;br /&gt;
   var docHeight = $(document).height();&lt;br /&gt;
&lt;br /&gt;
   $(&amp;quot;body&amp;quot;).append(&amp;quot;&amp;lt;div id=&amp;#039;overlay&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
   $(&amp;quot;#overlay&amp;quot;)&lt;br /&gt;
      .height(docHeight)&lt;br /&gt;
      .css({&lt;br /&gt;
         &amp;#039;opacity&amp;#039; : 0.4,&lt;br /&gt;
         &amp;#039;position&amp;#039;: &amp;#039;absolute&amp;#039;,&lt;br /&gt;
         &amp;#039;top&amp;#039;: 0,&lt;br /&gt;
         &amp;#039;left&amp;#039;: 0,&lt;br /&gt;
         &amp;#039;background-color&amp;#039;: &amp;#039;black&amp;#039;,&lt;br /&gt;
         &amp;#039;width&amp;#039;: &amp;#039;100%&amp;#039;,&lt;br /&gt;
         &amp;#039;z-index&amp;#039;: 5000&lt;br /&gt;
      });&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== jQuery - overlay, modal box, lightbox, tooltips ===&lt;br /&gt;
Infos über die verschiedenen Möglichkeiten und die Unterschiede (Todo)&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
&lt;br /&gt;
=== Position eines Elements auslesen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// get Pos of act Item&lt;br /&gt;
var position = $(&amp;quot;#myElement&amp;quot;).offset();&lt;br /&gt;
//console.log(position);&lt;br /&gt;
&lt;br /&gt;
//set positon to other elements...&lt;br /&gt;
$(&amp;quot;#otherElement&amp;quot;).css(position);&lt;br /&gt;
$(&amp;quot;#anotherElement&amp;quot;).css(&amp;quot;top&amp;quot;,(position.top+5));&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Usability ==&lt;br /&gt;
=== Loading Icon bis Seite komplett geladen ist ===&lt;br /&gt;
Quelle: siehe Links&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
	&amp;lt;meta charset=&amp;#039;UTF-8&amp;#039;&amp;gt;&lt;br /&gt;
	&amp;lt;title&amp;gt;Simple Loader&amp;lt;/title&amp;gt;&lt;br /&gt;
	&amp;lt;style&amp;gt;&lt;br /&gt;
		/* This only works with JavaScript,&lt;br /&gt;
		   if it&amp;#039;s not present, don&amp;#039;t show loader */&lt;br /&gt;
		.no-js #loader { display: none;  }&lt;br /&gt;
		.js #loader { display: block; position: absolute; left: 100px; top: 0; }&lt;br /&gt;
	&amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;script src=&amp;quot;http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;script src=&amp;quot;https://github.com/Modernizr/Modernizr/raw/master/modernizr.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
	&amp;lt;script&amp;gt;&lt;br /&gt;
		// Wait for window load&lt;br /&gt;
		$(window).load(function() {&lt;br /&gt;
			// Animate loader off screen&lt;br /&gt;
			$(&amp;quot;#loader&amp;quot;).animate({&lt;br /&gt;
				top: -200&lt;br /&gt;
			}, 1500);&lt;br /&gt;
		});&lt;br /&gt;
	&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
	&amp;lt;img src=&amp;quot;download.png&amp;quot; id=&amp;quot;loader&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;img src=&amp;quot;http://farm6.static.flickr.com/5299/5400751421_55d49b2786_o.jpg&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>79.240.52.209</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=JavaScript_-_Arrays&amp;diff=19983</id>
		<title>JavaScript - Arrays</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=JavaScript_-_Arrays&amp;diff=19983"/>
		<updated>2013-09-27T09:12:29Z</updated>

		<summary type="html">&lt;p&gt;79.240.52.209: /* Mit Array arbeiten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Links ==&lt;br /&gt;
http://www.w3schools.com/js/js_obj_array.asp&lt;br /&gt;
&lt;br /&gt;
== Arrays erzeugen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1: Regular:&lt;br /&gt;
 var myCars=new Array(); &lt;br /&gt;
 myCars[0]=&amp;quot;Saab&amp;quot;;       &lt;br /&gt;
 myCars[1]=&amp;quot;Volvo&amp;quot;;&lt;br /&gt;
 myCars[2]=&amp;quot;BMW&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
2: Condensed:&lt;br /&gt;
 var myCars=new Array(&amp;quot;Saab&amp;quot;,&amp;quot;Volvo&amp;quot;,&amp;quot;BMW&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
3: Literal:&lt;br /&gt;
 var myCars=[&amp;quot;Saab&amp;quot;,&amp;quot;Volvo&amp;quot;,&amp;quot;BMW&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
== Mit Array arbeiten ==&lt;br /&gt;
 // Werte abrufen und setzen&lt;br /&gt;
 var name=myCars[0];&lt;br /&gt;
 myCars[0]=&amp;quot;Opel&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
 // Unterschiedliche Objekte in einem Array&lt;br /&gt;
 myArray[0]=Date.now;&lt;br /&gt;
 myArray[1]=myFunction;&lt;br /&gt;
 myArray[2]=myCars;&lt;br /&gt;
&lt;br /&gt;
 // Vordefinierte Methoden und Eigenschaften in einem Array&lt;br /&gt;
 var x=myCars.length             // the number of elements in myCars&lt;br /&gt;
 var y=myCars.indexOf(&amp;quot;Volvo&amp;quot;)   // the index position of &amp;quot;Volvo&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// eigene Methoden mit prototype erzeugen&lt;br /&gt;
Array.prototype.ucase=function()&lt;br /&gt;
{&lt;br /&gt;
  for (i=0;i&amp;lt;this.length;i++)&lt;br /&gt;
  {this[i]=this[i].toUpperCase();}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>79.240.52.209</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=JavaScript_-_Arrays&amp;diff=19982</id>
		<title>JavaScript - Arrays</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=JavaScript_-_Arrays&amp;diff=19982"/>
		<updated>2013-09-27T09:11:50Z</updated>

		<summary type="html">&lt;p&gt;79.240.52.209: Die Seite wurde neu angelegt: „ == Links == http://www.w3schools.com/js/js_obj_array.asp  == Arrays erzeugen ==   1: Regular:  var myCars=new Array();   myCars[0]=&amp;quot;Saab&amp;quot;;         myCars[1]=&amp;quot;Vol…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Links ==&lt;br /&gt;
http://www.w3schools.com/js/js_obj_array.asp&lt;br /&gt;
&lt;br /&gt;
== Arrays erzeugen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1: Regular:&lt;br /&gt;
 var myCars=new Array(); &lt;br /&gt;
 myCars[0]=&amp;quot;Saab&amp;quot;;       &lt;br /&gt;
 myCars[1]=&amp;quot;Volvo&amp;quot;;&lt;br /&gt;
 myCars[2]=&amp;quot;BMW&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
2: Condensed:&lt;br /&gt;
 var myCars=new Array(&amp;quot;Saab&amp;quot;,&amp;quot;Volvo&amp;quot;,&amp;quot;BMW&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
3: Literal:&lt;br /&gt;
 var myCars=[&amp;quot;Saab&amp;quot;,&amp;quot;Volvo&amp;quot;,&amp;quot;BMW&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
== Mit Array arbeiten ==&lt;br /&gt;
&lt;br /&gt;
 var name=myCars[0];&lt;br /&gt;
 myCars[0]=&amp;quot;Opel&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
 // Unterschiedliche Objekte in einem Array&lt;br /&gt;
 myArray[0]=Date.now;&lt;br /&gt;
 myArray[1]=myFunction;&lt;br /&gt;
 myArray[2]=myCars;&lt;br /&gt;
&lt;br /&gt;
 // Methoden und Eigenschaften in einem Array&lt;br /&gt;
 var x=myCars.length             // the number of elements in myCars&lt;br /&gt;
 var y=myCars.indexOf(&amp;quot;Volvo&amp;quot;)   // the index position of &amp;quot;Volvo&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// eigene Methoden mit prototype erzeugen&lt;br /&gt;
Array.prototype.ucase=function()&lt;br /&gt;
{&lt;br /&gt;
  for (i=0;i&amp;lt;this.length;i++)&lt;br /&gt;
  {this[i]=this[i].toUpperCase();}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>79.240.52.209</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=JavaScripts_-_Basics&amp;diff=19981</id>
		<title>JavaScripts - Basics</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=JavaScripts_-_Basics&amp;diff=19981"/>
		<updated>2013-09-27T09:06:22Z</updated>

		<summary type="html">&lt;p&gt;79.240.52.209: Die Seite wurde neu angelegt: „JavaScript - Arrays“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[JavaScript - Arrays]]&lt;/div&gt;</summary>
		<author><name>79.240.52.209</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=JavaScript_-_Snippets&amp;diff=19980</id>
		<title>JavaScript - Snippets</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=JavaScript_-_Snippets&amp;diff=19980"/>
		<updated>2013-09-27T09:05:57Z</updated>

		<summary type="html">&lt;p&gt;79.240.52.209: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
[[JavaScripts - Basics]]&lt;br /&gt;
&lt;br /&gt;
[[jQuery - Snippets]]&lt;br /&gt;
&lt;br /&gt;
== Sonderzeichen in Alert-Meldungen ==&lt;br /&gt;
&lt;br /&gt;
Oft sieht man im Web sehr hässliche alert-Meldungen , in denen die Umlaute nicht korrekt dargestellt sind. Das liegt auch daran, dass unterschiedliche Betriebssystem Zeichen unterschiedlich kodieren. Damit so etwas möglichst vermieden wird, sollte man solche Meldungen mit alert(unescape(&amp;quot;...&amp;quot;)) anzeigen.&lt;br /&gt;
&lt;br /&gt;
Beispiel: &lt;br /&gt;
 alert(unescape(&amp;quot;So was d%E4mliches%21&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
Zeichen	so verschlüsseln:&lt;br /&gt;
\	\\&lt;br /&gt;
&amp;quot;	\&amp;quot;&lt;br /&gt;
&amp;#039;	\&amp;#039;&lt;br /&gt;
Zeilenumbruch	\n&lt;br /&gt;
Wagenrücklauf	\r&lt;br /&gt;
(Den Unterschied zum Zeilenumbruch habe ich auch noch nicht begriffen.)&lt;br /&gt;
Tabulator	\t&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zeichen	so:&lt;br /&gt;
Ä	%C4&lt;br /&gt;
Ö	%D6&lt;br /&gt;
Ü	%DC&lt;br /&gt;
ä	%E4&lt;br /&gt;
ö	%F6&lt;br /&gt;
ü	%FC&lt;br /&gt;
ß	%DF&lt;br /&gt;
€	%u20AC&lt;br /&gt;
$	%24&lt;br /&gt;
%	%25&lt;br /&gt;
&lt;br /&gt;
Generier Tool:&lt;br /&gt;
http://www.salesianer.de/util/alert-umlaute.html&lt;br /&gt;
&lt;br /&gt;
== Teil einer Seite drucken ==&lt;br /&gt;
Old School JavaScript, sollte sich  aber relativ einfach auf jQuery übertragen lassen.&lt;br /&gt;
&lt;br /&gt;
Quelle: http://www.webstool.de/de/tipps_down_druck3.html Zugriff: 10/2011&lt;br /&gt;
&lt;br /&gt;
Mit einem einfachen JavaScript lässt sich mit relativ wenig Aufwand eine druckerfreundliche Version einer Webseite bei Bedarf erzeugen.&lt;br /&gt;
&lt;br /&gt;
Das JavaScript wird nachstehend vorgestellt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function ausgabe()&lt;br /&gt;
{&lt;br /&gt;
var ref = document.getElementById(&amp;quot;auswahl&amp;quot;);&lt;br /&gt;
var ausgabe;&lt;br /&gt;
// nächste Zeile öffnet ein Fenster der Größe 800 x 600 Pixel&lt;br /&gt;
ausgabe=window.open(&amp;quot;#&amp;quot;,&amp;quot;fenster&amp;quot;,&amp;quot;width=800,height=600,resizable=yes,menubar=yes,left=50,top=50&amp;quot;);&lt;br /&gt;
ausgabe.document.open();&lt;br /&gt;
ausgabe.document.write(&amp;#039;&amp;lt;html&amp;gt;\n&amp;lt;head&amp;gt;\n&amp;lt;title&amp;gt;Druckversion&amp;lt;/title&amp;gt;\n&amp;#039;);&lt;br /&gt;
ausgabe.document.write(&amp;#039;&amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=iso-8859-1&amp;quot;&amp;gt;\n&amp;#039;);&lt;br /&gt;
// in der nächsten Zeile an das eigene Stylesheet anpassen&lt;br /&gt;
ausgabe.document.write(&amp;#039;&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;../css/design1.css&amp;quot;&amp;gt;\n&amp;lt;/head&amp;gt;\n&amp;#039;);&lt;br /&gt;
ausgabe.document.write(&amp;#039;&amp;lt;body&amp;gt;\n&amp;lt;h1 align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;copy; web s tool - Partner f&amp;amp;uuml;r Ihren Internetauftritt&amp;lt;/h1&amp;gt;\n&amp;#039;);&lt;br /&gt;
ausgabe.document.write(&amp;#039;&amp;lt;div&amp;gt;\n&amp;#039;);&lt;br /&gt;
// Ausgabe aller Inhalte mit der id = auswahl&lt;br /&gt;
while (ref!=null)&lt;br /&gt;
{&lt;br /&gt;
ausgabe.document.write(ref.innerHTML + &amp;#039;\n&amp;#039;);&lt;br /&gt;
ref = ref.nextSibling;&lt;br /&gt;
}&lt;br /&gt;
ausgabe.document.write(&amp;#039;&amp;lt;/div&amp;gt;\n&amp;lt;p align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;javascript:window.print()&amp;quot;&amp;gt;drucken&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;\n&amp;lt;/body&amp;gt;\n&amp;lt;/html&amp;gt;\n&amp;#039;);&lt;br /&gt;
ausgabe.document.close();&lt;br /&gt;
ausgabe.focus();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Die externe Einbindung des JavaScripts erfolgt dabei z.B. im head-Bereich der Webseite über&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;script language=&amp;quot;JavaScript&amp;quot; src=&amp;quot;../scripts/ausgabe4print.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Von entscheidender Bedeutung ist, dass auf der Seite das auszuwählende Objekt mit der id = &amp;quot;auswahl&amp;quot; (bitte bei Bedarf anpassen) versehen ist. Das auszuwählende Objekt kann dabei eine Tabelle oder ein div-Container sein.&lt;br /&gt;
&lt;br /&gt;
Der Aufruf erfolgt z.B. durch den Link &amp;lt;a href=&amp;quot;javascript:ausgabe();&amp;quot;&amp;gt; Druckversion&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fehler Behandlung ==&lt;br /&gt;
=== Prüfen ob ein Element existiert (normales JavaScript)===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function isElement(obj) {&lt;br /&gt;
  try {&lt;br /&gt;
    //Using W3 DOM2 (works for FF, Opera and Chrom)&lt;br /&gt;
    return obj instanceof HTMLElement;&lt;br /&gt;
  }&lt;br /&gt;
  catch(e){&lt;br /&gt;
    return (typeof obj===&amp;quot;object&amp;quot;) &amp;amp;&amp;amp;&lt;br /&gt;
      (obj.nodeType===1) &amp;amp;&amp;amp; (typeof obj.style === &amp;quot;object&amp;quot;) &amp;amp;&amp;amp;&lt;br /&gt;
      (typeof obj.ownerDocument ===&amp;quot;object&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Eingaben Validieren ==&lt;br /&gt;
=== Handynummer validieren (normales JavaScript) ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function phone_is_valid(nr){&lt;br /&gt;
	var reg2 = /^([0-9]{4,6})+\/([0-9]{6,11})$/;&lt;br /&gt;
	return reg2.test(nr);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Datum validieren (normales JavaScript) ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function date_is_valid(myDate){&lt;br /&gt;
	var isValid = false;&lt;br /&gt;
	var today = new Date();&lt;br /&gt;
	if (!myDate) return false;&lt;br /&gt;
	myDate=myDate.toString();&lt;br /&gt;
	arrDate=myDate.split(&amp;quot;.&amp;quot;);&lt;br /&gt;
	if (arrDate.length!=3) return false;&lt;br /&gt;
	arrDate[0]=parseInt(arrDate[0],10);&lt;br /&gt;
	arrDate[1]=parseInt(arrDate[1],10)-1;&lt;br /&gt;
	if (arrDate[2].length==2) arrDate[2]=&amp;quot;20&amp;quot;+arrDate[2]&lt;br /&gt;
	var kontrolldatum=new Date(arrDate[2],arrDate[1],arrDate[0]);&lt;br /&gt;
	// Datum gültig ?&lt;br /&gt;
	if (kontrolldatum.getDate()==arrDate[0] &amp;amp;&amp;amp; kontrolldatum.getMonth()==arrDate[1] &amp;amp;&amp;amp; kontrolldatum.getFullYear()==arrDate[2])&lt;br /&gt;
	{&lt;br /&gt;
		// in der Zukunft&lt;br /&gt;
		if (kontrolldatum.getTime()-today.getTime()+(24*60*60*1000) &amp;gt; 0)&lt;br /&gt;
			return true; 		&lt;br /&gt;
	}&lt;br /&gt;
	return false;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Timer ==&lt;br /&gt;
Quelle: http://blog.agrafix.net/2011/10/javascript-timers-mit-jquery/&lt;br /&gt;
&lt;br /&gt;
Benötigte Funktionen sind window.setTimeout und window.setInterval&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// funktion verzögert aufrufen&lt;br /&gt;
function machWas() {&lt;br /&gt;
   alert(&amp;#039;alert() mit 1000ms verzögerung!&amp;#039;);&lt;br /&gt;
}&lt;br /&gt;
window.setTimeout(machWas, 1000);&lt;br /&gt;
 &lt;br /&gt;
// funktion alle X Millisekunden aufruden&lt;br /&gt;
function machWasOft() {&lt;br /&gt;
   alert(&amp;#039;alle 1000ms ein alert()&amp;#039;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
window.setInterval(machWasOft, 1000);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Doch was ist, wenn ich jetzt einen solchen Timer ändern oder abbrechen möchte? Das ist eigentlich auch nicht schwer – die Funktionen setTimeout/setInterval geben ein Objekt zurück über das sie sich wieder beenden lassen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var x = 0;&lt;br /&gt;
function machWasAbbrechbarOft() {&lt;br /&gt;
    x += 1;&lt;br /&gt;
    if (x &amp;gt; 200) {&lt;br /&gt;
        window.clearInterval(running); // beende das &amp;quot;Interval&amp;quot; nach 201 Ausführungen&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
var running = window.setInterval(machWasAbbrechbarOft, 1000);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Timer mit jQuery ===&lt;br /&gt;
Für größere Projekte gibt es ein komfortableres jQuery Plugin&lt;br /&gt;
&lt;br /&gt;
Mit diesem Plugin geht das “Interval” setzen dann wie folgt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$(document).everyTime(1000, &amp;quot;machWasOftAbbrechbar&amp;quot;, function(i) { // alle 1000ms&lt;br /&gt;
  alert(&amp;#039;Hallo ich bin der &amp;#039; + i + &amp;#039;te Aufruf!&amp;#039;); // machWasOftAbbrechbar, hier die funktion die aufgerufen werden soll&lt;br /&gt;
}, 200); // 200 mal ausführen&lt;br /&gt;
Der zweite Parameter, machWasOftAbbrechbar, stellt hierbei ein sogenanntes “label” dar, über das man den gestarten Timer dann wieder abbrechen kann:&lt;br /&gt;
&lt;br /&gt;
$(document).stopTime(&amp;quot;machWasOftAbbrechbar&amp;quot;); // stoppe machWasOftAbbrechbar&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Viel mehr gibt’s eigentlich nicht dazu zu sagen – die Dokumentation dazu findet man, genau wie das Plugin selbst, unter http://plugins.jquery.com/project/timers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== JavaScript - Objekte ==&lt;br /&gt;
[[JavaScript - Objektorientierte Programmierung]]&lt;br /&gt;
=== Objekte löschen ===&lt;br /&gt;
 for (prop in allOverlays) { if (allOverlays.hasOwnProperty(prop)) { delete allOverlays[prop]; } } //ie 6 gc problems&lt;br /&gt;
 //allOverlays = {};&lt;br /&gt;
&lt;br /&gt;
== JavaScript - Strings ==&lt;br /&gt;
[[JavaScript - Strings]]&lt;br /&gt;
&lt;br /&gt;
== JavaScript - HTML5 Audio ==&lt;br /&gt;
[[JavaScript - HTML5 Audio]]&lt;br /&gt;
&lt;br /&gt;
== JavaScript - Verschiedenes ==&lt;br /&gt;
=== Sortieren ===&lt;br /&gt;
http://www.javascriptkit.com/javatutors/arraysort.shtml&lt;br /&gt;
==== URL Parameter auslesen ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function getUrlVars()&lt;br /&gt;
/* get GET Vars from URl */&lt;br /&gt;
{&lt;br /&gt;
    var vars = [], hash;&lt;br /&gt;
    var hashes = window.location.href.slice(window.location.href.indexOf(&amp;#039;?&amp;#039;) + 1).split(&amp;#039;&amp;amp;&amp;#039;);&lt;br /&gt;
    for(var i = 0; i &amp;lt; hashes.length; i++)&lt;br /&gt;
    {&lt;br /&gt;
        hash = hashes[i].split(&amp;#039;=&amp;#039;);&lt;br /&gt;
        vars.push(hash[0]);&lt;br /&gt;
        vars[hash[0]] = hash[1];&lt;br /&gt;
    }&lt;br /&gt;
    return vars;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>79.240.52.209</name></author>
	</entry>
</feed>