<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>danza &#187; javascript</title>
	<atom:link href="http://d4nza.de/blog/tag/javascript/feed" rel="self" type="application/rss+xml" />
	<link>http://d4nza.de/blog</link>
	<description>Digitaler Lifestyle</description>
	<lastBuildDate>Thu, 19 Apr 2012 10:20:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>jQuery UI, Ajax animierter Ladebalken</title>
		<link>http://d4nza.de/blog/tutorials/jquery-ui-ajax-animierter-ladebalken</link>
		<comments>http://d4nza.de/blog/tutorials/jquery-ui-ajax-animierter-ladebalken#comments</comments>
		<pubDate>Mon, 20 Jun 2011 22:50:32 +0000</pubDate>
		<dc:creator>danza</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Beispiel]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[jQuery Tutorial]]></category>
		<category><![CDATA[jquery tutorials]]></category>
		<category><![CDATA[jQueryUI]]></category>
		<category><![CDATA[JS]]></category>
		<category><![CDATA[Ladebalken]]></category>
		<category><![CDATA[Loader]]></category>
		<category><![CDATA[Loading]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Progressbar]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://d4nza.de/blog/?p=1180</guid>
		<description><![CDATA[Mit Hilfe von PHP und JavaScript kann man einen Tollen animierten Ladebalken erstellen. Sehr interessant, wenn man mit PHP Aktionen durchführen möchte, die über 5 Sekunden dauern. &#160; Das schöne ist das man dank Ajax Technologie den Anwender immer auf dem neusten Stand halten kann. Download Vorschau im Browser Als JavaScript Framework setze ich jQuery [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://d4nza.de/blog/wp-content/uploads/2011/06/2011-06-21_0028.png"><img class="alignleft size-medium wp-image-1190" title="2011-06-21_0028" src="http://d4nza.de/blog/wp-content/uploads/2011/06/2011-06-21_0028-300x120.png" alt="" width="300" height="120" /></a>Mit Hilfe von PHP und JavaScript kann man einen Tollen animierten Ladebalken erstellen. Sehr interessant, wenn man mit PHP Aktionen durchführen möchte, die über 5 Sekunden dauern.</p>
<p>&nbsp;</p>
<p> Das schöne ist das man dank Ajax Technologie den Anwender immer auf dem neusten Stand halten kann.</p>
<ul>
<li><a href="http://d4nza.de/blog/dev/jquery/jqueryui-progressbar/jqueryui-progessbar.zip">Download</a></li>
<li><a href="http://d4nza.de/blog/dev/jquery/jqueryui-progressbar/">Vorschau im Browser</a></li>
</ul>
<p><span id="more-1180"></span><br />
Als JavaScript Framework setze ich jQuery mit der Erweiterung jQuery UI. Den Datenaustausch zwischen Javascript und PHP mache ich mittels JSON, wodurch man PHP Objekte direkt als Javascript Objekte übergeben kann. Außerdem lassen sich dadurch bequem mehrere Daten übertragen.<br />
<script type="text/javascript"><!--
google_ad_client = "pub-2553159421610355";
google_ad_slot = "5365068311";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</p>
<h2>Fangen wir an!</h2>
<p>Als aller erstes sollte man sich nun jQuery und jQuery UI herunterladen. Als nächstes erstellt man sich eine index.php welche das Standard HTML Gerüst enthält. Im <head> Bereich bindet man nun die JavaScript Libary und die dazu gehörigen CSS Dateien ein.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;link type=&quot;text/css&quot; href=&quot;./css/ui-lightness/jquery-ui-1.8.13.custom.css&quot; rel=&quot;stylesheet&quot; /&gt;

&lt;script type=&quot;text/javascript&quot; src=&quot;./js/jquery-1.5.1.min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;./js/jquery-ui-1.8.13.custom.min.js&quot;&gt;&lt;/script&gt;
</pre>
<p>Im Body Teil unserer index.php bauen wir zwei Div Platzhalter ein. Der eine wird unsere Progressbar, der andere zeigt nacher eine Nachricht an, welche wir im PHP Code generieren. Wichtig ist, das wir beiden Divs IDs geben, nur dadurch können wir nach im JavaScript Code die beiden Divs wieder finden.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;!--Die Progressbar--&gt;
&lt;div id=&quot;progressbar&quot;&gt;&lt;/div&gt;

&lt;!-- Div Platzhalter für eigene von PHP generierte Nachrichten --&gt;
&lt;div id=&quot;message&quot;&gt;Lädt...&lt;/div&gt;
</pre>
<p>Als nächstes kümmern wir uns um die PHP Seite. Die Datei, die für uns die eigentlich lange dauernde Aktion ausführen soll ist die <b>ajax.php</b>. Diese werden wir auch per JavaScript ansprechen und genau diese Datei soll uns mithilfe von einem JSON Objekt den aktuellen prozentualen Status und eine von uns aus PHP generierte Nachricht zurück geben, sodass wir sie auf der Webseite dem User darstellen können und informieren können, wie weit sein Prozess fortgeschritten ist.</p>
<p>Dazu erstellen wir die ajax.php und fügen folgenden Inhalt ein:</p>
<pre class="brush: php; title: ; notranslate">
$zufall = rand(1,3); // Zufällige länge der Aktion simulieren

sleep($zufall); // Simulieren einer langen Aktion...
</pre>
<p>Diese zwei Zeilen sind nur dafür da eine lange Aktion zu simulieren, welche nacher irgendwelche langsamen Datenbank abfragen, Backup Funktion usw. sein können.</p>
<p>Als nächstes bauen wir unser <b>php_array</b>, welches wir später als JSON Objekt umwandeln. Das php_array enthält den Index status, in dem wir die aktuellen Fortschritt in Prozent rein schreiben. Natürlich kann man sich die indexe frei aussuchen <img src='http://d4nza.de/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
<p>Unser index Status bekommt noch eine kleine wenn überprüfung, denn bei 100% ist Schluss, so ist sicher gestellt, das wir nie über 100% kommen.</p>
<pre class="brush: php; title: ; notranslate">
// Unser $php_array ist ein Array, welches nacher als JSON Objekt ausgeben wird
// Enthält unseren Prozessfortschritt, als Prozentwert
$php_array['status'] = $_GET['status']+($zufall*3);

// Bei 100% ist Schluss <img src='http://d4nza.de/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />
if($php_array['status']&gt;100) {
	$php_array['status'] = 100;
}
</pre>
<p>Als zweiten Teil, wollen wir eine von PHP generierte Nachricht an den Benutzer auch noch übergeben. Dafür legen wir einfach einen neuen Index zu den bereits bestehenden <b>$php_array</b> an, den wir <b>message</b> nennen. Dort können wir unsere Nachricht angeben.</p>
<pre class="brush: php; title: ; notranslate">
// Eine von Nachricht an dem Benutzer aus PHP
if($php_array['status'] != 100) {
	$php_array['message'] = 'Aktueller Status &lt;b&gt;'.$php_array['status'].'%&lt;/b&gt; von 100%, Differenz: '.(100-$php_array['status']);
} else {
	$php_array['message'] = 'Juhu endlich geschafft! <img src='http://d4nza.de/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ';
}
</pre>
<p><script type="text/javascript"><!--
google_ad_client = "pub-2553159421610355";
google_ad_slot = "5365068311";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<br />
Zum Schluss des ganzen, müssen wir nur das PHP Array in ein JSON Objekt umwandeln, das geht mit folgender kleinen PHP Zeile:</p>
<pre class="brush: php; title: ; notranslate">
// Ausgabe des PHP Arrays als JSON Objekt
echo json_encode($php_array);
</pre>
<p>Das gibt folgenden String zurück:</p>
<pre class="brush: jscript; title: ; notranslate">
{&quot;status&quot;:90,&quot;message&quot;:&quot;Aktueller Status &lt;b&gt;90%&lt;\/b&gt; von 100%, Differenz: 10&quot;}
</pre>
<p>Das ist der String den wir in JavaScript brauchen. Nun geht es zu dem JavaScript Code, da unsere Background PHP Datei soweit fertig ist. Als aller erstes wollen wir unseren html div in eine Progressbar umwandeln. Diesen Befehl gibt es nur wenn jQuery + jQuery UI eingebaut ist. <i>value</i> sagt unserer Progressbar, wieviel % sie nun hat, zum Start macht es Sinn ihn auf 0% zu setzen, da wir ja unser PHP Skript noch gar nicht arbeiten lassen haben.</p>
<pre class="brush: jscript; title: ; notranslate">
$(&quot;#progressbar&quot;).progressbar({
	value: 0
});
</pre>
<p>Als nächstes kommt die JavaScript Funktion <i>load()</i>, diese ruft die  <i>ajax.php</i> mit einem Parameter auf, der Parameter ist unser aktueller Status. Dazu nutzen wir die Funktion <i>ajax</i> von jQuery. Als Einstellung gibt es dort unteranderem die <i>url</i>, welche der aufzurufenden Datei entspricht. Das ist bei unseren Fall, wie schon zuvor gesagt, die <i>ajax.php</i>. </p>
<pre class="brush: jscript; title: ; notranslate">
url: './ajax.php?status='+$( &quot;#progressbar&quot; ).progressbar( &quot;value&quot; ),
</pre>
<p>Als nächstes kommt die Eigenschaft success, dort hinterlegen wir die Funktion, die aufgerufen werden soll, wenn der Request erfolgreich war, also wenn wir den Inhalt von der <i>ajax.php</i> zurück bekommen haben. Als Parameter von der Funktion, wird jQuery unseren Inhalt von den Ajax Request zurück geben, also in unserem Fall heißt der Parameter <i>data.</i><br />
Da unsere PHP Datei ein json Objekt zurück gibt, machen wir eine neue Variable <i>ajax</i> und fügen wir das JSON Objekt hinzu, das machen wir in dem wir ein <i>eval</i> ausführen, mit dem zurück gegeben String von PHP, der sich in der Variable data befindet.</p>
<pre class="brush: jscript; title: ; notranslate">
ajax = eval('(' + data + ')');
</pre>
<p>Nun können wir mithilfe von <i>ajax.index</i> auf die zuvor in PHP erstellten Indexe zu greifen. In z.B. <i>ajax.status</i> ist der prozentuale Status, den wir in PHP errechnet haben.<br />
<script type="text/javascript"><!--
google_ad_client = "pub-2553159421610355";
google_ad_slot = "5365068311";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<br />
Mit hilfe von <i>ajax!=false</i> überprüfen wir in der <i>if</i> Bedingung, ob wir überhaupt ein JSON Objekt erhalten haben. Der Progressbar geben wir ihren neuen Prozentsatz mithilfe von:</p>
<pre class="brush: jscript; title: ; notranslate">
$(&quot;#progressbar&quot;).progressbar({
	value: ajax.status
});
</pre>
<p>Und danach aktualisieren wir den Div, der unsere PHP Message darstellen sollen.</p>
<pre class="brush: jscript; title: ; notranslate">
$(&quot;#message&quot;).html( ajax.message );
</pre>
<p>Und zum guten Schluss, rufen wir unsere Funktion recursiv auf, solange wir noch nicht 100% haben.</p>
<pre class="brush: jscript; title: ; notranslate">
if(ajax.status!=100) {
	load();
}
</pre>
<p>Die ganze <i>load()</i> Funktion:</p>
<pre class="brush: jscript; title: ; notranslate">
function load() {
	$.ajax({
		// Welche URL soll aufgerufen werden?
		url: './ajax.php?status='+$( &quot;#progressbar&quot; ).progressbar( &quot;value&quot; ),
		// Wird ausgeführt, wenn die Datei erfolgreich requestet wurde
		success: function(data) {
			/**
			* PHP liefert ein JSON Objekt zurück, welches wir im
			* JavaScript Code ausführen müssen, um ein Objekt zu erhalten.
			* Danach können wir mittels ajax.message und ajax.status auf unser
			* zuvor erstelltes PHP Array zu greifen. Wenn ein neuer Index im PHP Array
			* hinzugefügt wird, können wir mittels ajax.neuerIndex auch im JS darauf
			* zu greifen.
			**/

			ajax = eval('(' + data + ')');

			// Überprüfen, ob ein JS Objekt da ist.
			if(ajax!=false) {
				// Updaten unserer Progressbar auf den aktuellen Stand
				$(&quot;#progressbar&quot;).progressbar({
					value: ajax.status
				});

				// Die von PHP generierte Meldung dem Benutzer darstellen
				$(&quot;#message&quot;).html( ajax.message );

				// Solange wir nicht 100% haben müssen wir die Datei nochmal aufrufen...
				if(ajax.status!=100) {
					load();
				}
			}
		}
	});
}
</pre>
<p>Und nochmal beide erstellten Dateien zum Schluss:</p>
<h2>Die index.php</h2>
<p>Die gesamte <b>index.php</b></p>
<pre class="brush: xml; title: ; notranslate">
&lt;html&gt;
	&lt;head&gt;
		&lt;title&gt;jQuery UI Progressbar&lt;/title&gt;
		&lt;link type=&quot;text/css&quot; href=&quot;./css/ui-lightness/jquery-ui-1.8.13.custom.css&quot; rel=&quot;stylesheet&quot; /&gt;

		&lt;script type=&quot;text/javascript&quot; src=&quot;./js/jquery-1.5.1.min.js&quot;&gt;&lt;/script&gt;
		&lt;script type=&quot;text/javascript&quot; src=&quot;./js/jquery-ui-1.8.13.custom.min.js&quot;&gt;&lt;/script&gt;
		&lt;script type=&quot;text/javascript&quot;&gt;
			$(function(){
				/* Progessbar definieren */
				$(&quot;#progressbar&quot;).progressbar({
					value: 0
				});

				// Funktion, die das Laden anstupst
				function load() {
					$.ajax({
						// Welche URL soll aufgerufen werden?
						url: './ajax.php?status='+$( &quot;#progressbar&quot; ).progressbar( &quot;value&quot; ),
						// Wird ausgeführt, wenn die Datei erfolgreich requestet wurde
						success: function(data) {
							/**
							* PHP liefert ein JSON Objekt zurück, welches wir im
							* JavaScript Code ausführen müssen, um ein Objekt zu erhalten.
							* Danach können wir mittels ajax.message und ajax.status auf unser
							* zuvor erstelltes PHP Array zu greifen. Wenn ein neuer Index im PHP Array
							* hinzugefügt wird, können wir mittels ajax.neuerIndex auch im JS darauf
							* zu greifen.
							**/

							ajax = eval('(' + data + ')');

							// Überprüfen, ob ein JS Objekt da ist.
							if(ajax!=false) {
								// Updaten unserer Progressbar auf den aktuellen Stand
								$(&quot;#progressbar&quot;).progressbar({
									value: ajax.status
								});

								// Die von PHP generierte Meldung dem Benutzer darstellen
								$(&quot;#message&quot;).html( ajax.message );

								// Solange wir nicht 100% haben müssen wir die Datei nochmal aufrufen...
								if(ajax.status!=100) {
									load();
								}
							}
						}
					});
				}

				load(); // Das erste Starten unserer Funktion
			});
		&lt;/script&gt;

		&lt;style&gt;
			/* Größe für die Progressbar */
			#progressbar {
				width:300px;
				height: 20px;
			}
		&lt;/style&gt;
	&lt;/head&gt;
	&lt;body&gt;
		Lädt:
		&lt;!--Die Progressbar--&gt;
		&lt;div id=&quot;progressbar&quot;&gt;&lt;/div&gt;

		&lt;!-- Div Platzhalter für eigene von PHP generierte Nachrichten --&gt;
		&lt;div id=&quot;message&quot;&gt;Lädt...&lt;/div&gt;
	&lt;/body&gt;
&lt;/html&gt;
</pre>
<h2>Die ajax.php</h2>
<p>Die gesamte <b>ajax.php</b></p>
<pre class="brush: php; title: ; notranslate">
&lt;?php

$zufall = rand(1,3); // Zufällige länge der Aktion simulieren

sleep($zufall); // Simulieren einer langen Aktion...

// Unser $php_array ist ein Array, welches nacher als JSON Objekt ausgeben wird
// Enthält unseren Prozessfortschritt, als Prozentwert
$php_array['status'] = $_GET['status']+($zufall*3);

// Bei 100% ist Schluss <img src='http://d4nza.de/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />
if($php_array['status']&gt;100) {
	$php_array['status'] = 100;
}

// Eine von Nachricht an dem Benutzer aus PHP
if($php_array['status'] != 100) {
	$php_array['message'] = 'Aktueller Status &lt;b&gt;'.$php_array['status'].'%&lt;/b&gt; von 100%, Differenz: '.(100-$php_array['status']);
} else {
	$php_array['message'] = 'Juhu endlich geschafft! <img src='http://d4nza.de/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ';
}

// Ausgabe des PHP Arrays als JSON Objekt
echo json_encode($php_array);
</pre>
<ul>
<li><a href="http://d4nza.de/blog/dev/jquery/jqueryui-progressbar/jqueryui-progessbar.zip">Download</a></li>
<li><a href="http://d4nza.de/blog/dev/jquery/jqueryui-progressbar/">Vorschau im Browser</a></li>
</ul>
<p></head></p>
]]></content:encoded>
			<wfw:commentRss>http://d4nza.de/blog/tutorials/jquery-ui-ajax-animierter-ladebalken/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>jQuery tutorial Top 10</title>
		<link>http://d4nza.de/blog/suchmaschinen-optimierung/jquery-tutorial-top-10</link>
		<comments>http://d4nza.de/blog/suchmaschinen-optimierung/jquery-tutorial-top-10#comments</comments>
		<pubDate>Thu, 10 Jun 2010 04:30:43 +0000</pubDate>
		<dc:creator>danza</dc:creator>
				<category><![CDATA[Fun SEO]]></category>
		<category><![CDATA[Suchmaschinen Optimierung]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[javascript libary]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[jquery tutorials]]></category>
		<category><![CDATA[webdevelopment]]></category>

		<guid isPermaLink="false">http://d4nza.de/blog/?p=653</guid>
		<description><![CDATA[Bei dem Suchbegriff jQuery Tutorial ist mittlerweile mein Blog auf Platz 3 vorgedrungen in der Google Suchmaschine, was für mich guten Traffic bedeutet und für die Suchenenden ein schönes kleines Tutorial. Der Artikel ist Mittlerweile schon über einen Jahr alt. Ich hoffe das der Blog in der Top10 bei dem Suchbegriff bleibt. Wer sich den [...]]]></description>
			<content:encoded><![CDATA[<p>Bei dem Suchbegriff <a href="http://d4nza.de/blog/tutorials/jquery-tutorial-1" title="jQuery Tutorial" ><acronym title="jQuery ist ein freies, umfangreiches JavaScript-Framework">jQuery</acronym> Tutorial</a> ist mittlerweile mein Blog auf Platz 3 vorgedrungen in der Google Suchmaschine, was für mich guten Traffic bedeutet und für die Suchenenden ein schönes kleines Tutorial. Der Artikel ist Mittlerweile schon über einen Jahr alt. Ich hoffe das der Blog in der Top10 bei dem Suchbegriff bleibt.</p>
<p>Wer sich den Artikel ansehen will: <a href="http://d4nza.de/blog/tutorials/jquery-tutorial-1">http://d4nza.de/blog/tutorials/jquery-tutorial-1</a></p>]]></content:encoded>
			<wfw:commentRss>http://d4nza.de/blog/suchmaschinen-optimierung/jquery-tutorial-top-10/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery Tutorial Status</title>
		<link>http://d4nza.de/blog/website-tipp/jquery-tutorial-status</link>
		<comments>http://d4nza.de/blog/website-tipp/jquery-tutorial-status#comments</comments>
		<pubDate>Sun, 19 Jul 2009 07:26:24 +0000</pubDate>
		<dc:creator>danza</dc:creator>
				<category><![CDATA[Website Tipps]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[javascript libary]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[jquery tutorials]]></category>

		<guid isPermaLink="false">http://blog.d4nza.de/?p=376</guid>
		<description><![CDATA[Da sich mein jQuery Tutorial großer Beliebheit zu zeigen scheint (über 40 Seitenzugriffe allein im letzten Monat nur mit dem Begriff jQueryTutorial ), werde ich eventuell demnächst noch ein kleine Tutorial oder Vorschau zum jQuery UI schreiben. Noch dazu habe ich noch einen kleinen Link mit den über 50 nützlichen jQuery Plugins: drweb.de. Einfach mal [...]]]></description>
			<content:encoded><![CDATA[<p>Da sich mein<strong> <a href="http://d4nza.de/blog/tutorials/jquery-tutorial-1" title="jQuery Tutorial" ><acronym title="jQuery ist ein freies, umfangreiches JavaScript-Framework">jQuery</acronym> Tutorial</a></strong> großer Beliebheit zu zeigen scheint (über 40 Seitenzugriffe allein im letzten Monat nur mit dem Begriff <strong>jQueryTutorial</strong> ), werde ich eventuell demnächst noch ein kleine Tutorial oder Vorschau zum <strong><acronym title="jQuery ist ein freies, umfangreiches JavaScript-Framework">jQuery</acronym> UI</strong> schreiben.</p>
<p>Noch dazu habe ich noch einen kleinen Link mit den <strong>über 50</strong> nützlichen <strong><acronym title="jQuery ist ein freies, umfangreiches JavaScript-Framework">jQuery</acronym> Plugins</strong>: <a href="http://www.drweb.de/magazin/50-nutzliche-plugins-fur-jquery/">drweb.de</a>. Einfach mal reinschauen und Sachen ausprobieren.</p>
<p>Mein absolutes lieblings Plugin ist natürlich die<a href="http://leandrovieira.com/projects/jquery/lightbox/#"> <acronym title="jQuery ist ein freies, umfangreiches JavaScript-Framework">jQuery</acronym> Lightbox</a>. Direkt gefolgt vom <strong><acronym title="jQuery ist ein freies, umfangreiches JavaScript-Framework">jQuery</acronym> Dateibrowser</strong>, den ihr dort findet: <a href="http://abeautifulsite.net/notebook_files/58/demo/"><acronym title="jQuery ist ein freies, umfangreiches JavaScript-Framework">jQuery</acronym></a></p>
<p>Allen in allen kann man sagen das <strong><acronym title="jQuery ist ein freies, umfangreiches JavaScript-Framework">jQuery</acronym> ein Top Framework</strong> ist und so schnell nicht von der Konkurrenz geschlagen wird.</p>]]></content:encoded>
			<wfw:commentRss>http://d4nza.de/blog/website-tipp/jquery-tutorial-status/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery Tutorial</title>
		<link>http://d4nza.de/blog/tutorials/jquery-tutorial-1</link>
		<comments>http://d4nza.de/blog/tutorials/jquery-tutorial-1#comments</comments>
		<pubDate>Mon, 16 Feb 2009 22:23:22 +0000</pubDate>
		<dc:creator>danza</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[anleitung]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[javascript libary]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[webdevelopment]]></category>

		<guid isPermaLink="false">http://blog.d4nza.de/?p=99</guid>
		<description><![CDATA[Ich schreibe ein kleines jQuery Tutorial mit einigen Beispielen. Demo 1 Alert Box Als erstes registrieren wir ein so genanntes &#8220;ready Event&#8221; für das Document. Dieses geht in jQuery mit der Funktion $(document).ready(function()). Im Code sieht das folgendermaßen aus: Wir wollen nun, das wenn man auf einen Link klickt, eine Messagebox erscheint, mit dem Inhalt [...]]]></description>
			<content:encoded><![CDATA[<p>Ich schreibe ein kleines <a href="http://d4nza.de/blog/tutorials/jquery-tutorial-1" title="jQuery Tutorial" ><acronym title="jQuery ist ein freies, umfangreiches JavaScript-Framework">jQuery</acronym> Tutorial</a> mit einigen Beispielen.</p>
<h3>Demo 1 Alert Box</h3>
<p>Als erstes registrieren wir ein so genanntes &#8220;ready Event&#8221; für das Document. Dieses geht in <acronym title="jQuery ist ein freies, umfangreiches JavaScript-Framework">jQuery</acronym> mit der Funktion <em>$(document).ready(function()). </em>Im Code sieht das folgendermaßen aus:</p>
<pre class="brush: jscript; title: ; notranslate">$(document).ready(function() {
    //Mach irgendetwas wenn das Dokument geladen ist.
});</pre>
<p>Wir wollen nun, das wenn man auf einen Link klickt, eine <em>Messagebox </em>erscheint, mit dem Inhalt <strong>Hallo Welt</strong>. Dazu schreiben wir folgendes in die Funktion:</p>
<pre class="brush: jscript; title: ; notranslate">$(document).ready(function(){
    $(&quot;a&quot;).click(function(){
        alert(&quot;Hallo Welt&quot;);
    });
});</pre>
<p><span id="more-99"></span><br />
Der komplette <acronym title="HyperText Markup Language">HTML</acronym> Code sieht jetzt folgendermaßen aus:</p>
<p>Demo 1 Alert Box &#8211; <a href="http://d4nza.de/blog/dev/jquery/demo1.html">Anzeigebeispiel: So sieht&#8217;s aus</a></p>
<pre class="brush: xml; title: ; notranslate">
&lt;html&gt;
    &lt;head&gt;
        &lt;!--<acronym title="jQuery ist ein freies, umfangreiches JavaScript-Framework">jQuery</acronym> Framework laden (evtl. Pfad anpassen)--&gt;
        &lt;script src=&quot;jquery.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;

        &lt;!--Code für Demo 1--&gt;
        &lt;script type=&quot;text/javascript&quot;&gt;
        $(document).ready(function(){
            $(&quot;a&quot;).click(function(){
                alert(&quot;Hallo Welt&quot;);
            });
        });
        &lt;/script&gt;
    &lt;/head&gt;

    &lt;body&gt;
        &lt;!--Zwei Test Links--&gt;
        &lt;p&gt;&lt;a href=&quot;#&quot;&gt;Ein Link&lt;/a&gt;&lt;/p&gt;
        &lt;p&gt;&lt;a href=&quot;#&quot;&gt;Ein weiterer Link&lt;/a&gt;&lt;/p&gt;
    &lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Nun schauen wir mal was wir gemacht haben. <em>$(&#8220;a&#8221;) </em>ist ein <acronym title="jQuery ist ein freies, umfangreiches JavaScript-Framework">jQuery</acronym> Selector. Mit <em>$(&#8220;element&#8221;)</em> können verschieden Sachen selektiert werden, auch Klassen <em>$(&#8216;.klasseDesElements&#8217;)</em> oder IDs <em>$(&#8216;#idDesElements&#8217;</em>). Es kann aber auch kombiniert werden, um z.B. alle Divs mit der Klasse development zu selektieren <em>$(&#8216;div.development&#8217;)</em>.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-2553159421610355";
google_ad_slot = "5365068311";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</p>
<p>In unserem Fall werden alle <em>a</em> Element in dem Dokument selektiert. <em>click()</em> fügt allen ausgewählten Elementen ein Klick Event hinzu. In unseren Fall wird eine ganz normale Javascript Funktion aufgerufen, nämlich <em>alert(&#8220;Hallo Welt&#8221;);</em>. Nun was passiert jetzt bei dieser Funkion? Alle a-Elemente führen beim klicken darauf, eine <em>Messagebox </em>aus in der steht <strong>Hallo Welt</strong>. Also genau das was wir wollten.</p>
<h3>Demo 2 <acronym title="Cascading Style Sheets">CSS</acronym> Klassen</h3>
<p>Eine andere Aufgabe von <acronym title="jQuery ist ein freies, umfangreiches JavaScript-Framework">jQuery</acronym> ist das hinzufügen und entfernen von <acronym title="Cascading Style Sheets">CSS</acronym>-Klassen. Zuerst erstellen wir mithilfe von <acronym title="Cascading Style Sheets">CSS</acronym> eine Klasse mit dem Namen <em>test</em>. Wir nehmen in diesem Fall mal eine fette und kursive Schriftart</p>
<pre class="brush: css; title: ; notranslate">a.test {
    font-weight: bold;
    font-style: italic;
}</pre>
<p>Als nächstes kommen wir zum Javascriptteil. Sobald nun also das Dokument geladen ist, soll nun allen Links die Klasse <em>test</em> hinzugefügt werden. Dazu nehmen wir die zuvor gelernte Funktion <em>$(document).ready(function()) </em>mit der wir nun abfragen, wann die Seite fertig geladen ist. Mit <em>$(&#8220;a&#8221;) </em>selektieren wir nun alle <em>a-Elemente</em> und fügen mit der Funktion<em> addClass() </em>eine Klasse hinzu, in unseren Fall ist das die Klasse <em>test</em>.</p>
<pre class="brush: jscript; title: ; notranslate">$(document).ready(function(){
    $(&quot;a&quot;).addClass(&quot;test&quot;);
});</pre>
<p>Nun noch ein paar Links zum Testen hinzufügen, schon werden wir sehen was passiert.</p>
<p>Demo 2 <acronym title="Cascading Style Sheets">CSS</acronym> Klassen &#8211; <a href="http://d4nza.de/blog/dev/jquery/demo2.html">Anzeigebeispiel: So sieht&#8217;s aus</a></p>
<pre class="brush: xml; title: ; notranslate">
&lt;html&gt;
    &lt;head&gt;
        &lt;!--<acronym title="jQuery ist ein freies, umfangreiches JavaScript-Framework">jQuery</acronym> Framework laden (evtl. Pfad anpassen)--&gt;
        &lt;script src=&quot;jquery.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;

        &lt;!--<acronym title="Cascading Style Sheets">CSS</acronym> Klasse &quot;test&quot; macht fett und kursiv --&gt;
         &lt;style type=&quot;text/css&quot;&gt;
            a.test {font-weight: bold; font-style:italic;}
         &lt;/style&gt;

        &lt;!--Code für Demo 2--&gt;
        &lt;script type=&quot;text/javascript&quot;&gt;
        $(document).ready(function(){
            $(&quot;a&quot;).addClass(&quot;test&quot;);
        });
        &lt;/script&gt;
    &lt;/head&gt;

    &lt;body&gt;
        &lt;!--<acronym title="HyperText Markup Language">HTML</acronym> Links ohne der &quot;test&quot; Klasse--&gt;
        &lt;p&gt;&lt;a href=&quot;#&quot;&gt;Ein Link&lt;/a&gt;&lt;/p&gt;
        &lt;p&gt;&lt;a href=&quot;#&quot;&gt;Ein weiterer Link&lt;/a&gt;&lt;/p&gt;
    &lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Wenn wir nun uns die Seite ansehen werden wir feststellen das alle Links fett und kursiv dargestellt werden. Die <acronym title="HyperText Markup Language">HTML</acronym> Links haben also die Klasse <em>test </em>jetzt.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-2553159421610355";
google_ad_slot = "5365068311";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</p>
<p><acronym title="jQuery ist ein freies, umfangreiches JavaScript-Framework">jQuery</acronym> besitzt einige Spezial Effekte, von denen wir nun auch Gebrauch machen wollen. Sie lassen die eigene Website mit wenig Aufwand schön für den Besucher aussehen.</p>
<p>Als aller erstes nehmen wir eine ganz normale Div Box, mit etwas Text drin:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div style=&quot;background-color:#336699;color:#fff;&quot;&gt;
    Ich bin eine Testbox und muss immer viel arbeiten <img src='http://d4nza.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />
&lt;/div&gt;
</pre>
<p>Damit wir die Box besser sehen, habe ich per Style Attribut, die Hintergrund Farbe auf Blau und die Schrift Farbe auf weiß gesetzt.</p>
<p>Nun fügen wir noch einen Link hinzu, der etwas machen soll:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;a href=&quot;#&quot; id=&quot;klein&quot;&gt;Mach die Box klein (80 x 120px)&lt;/a&gt;
</pre>
<p>Ich gebe diesen Link die ID klein, sodass wir später mit <acronym title="jQuery ist ein freies, umfangreiches JavaScript-Framework">jQuery</acronym> diesen Link selektieren können.</p>
<p>Als nächstes fügen wir noch etwas javascript hinzu, sodass der Link auch etwas macht wenn man drauf klickt:</p>
<pre class="brush: jscript; title: ; notranslate">
$(document).ready(function(){
    /*Box klein machen*/
	$('a#klein').click(function(){
		$('div').animate({ height: 80, width: 120 }, &quot;slow&quot;, function(){});
	})
});
</pre>
<p>Wir selektieren mit <em>$(&#8216;a#klein&#8217;)</em> unseren zuvor erstellten Link und geben ihn das Event <em>click</em>, wie schon zuvor erklärt wird bei einem Klick auf das Element nun der javascript Code in den Klammer ausgeführt.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-2553159421610355";
google_ad_slot = "5365068311";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</p>
<p>Als nächstes bestimmen wir welches Objekt verändert werden soll (<em>$(&#8216;div&#8217;)</em>), in diesen Fall sind das alle <em>div</em> Elemente. Mit der Funktion <em>animate</em> können wir Objekte animieren. <em>Animate</em> besitzt verschiedene Eigenschaften, in unseren Beispiel sagen wir <em>height</em> die Höhe auf 80px und <em>width</em> die Breite auf 120px, den Effekt wollen wir nun langsam haben, also hängen wir noch ein <em>slow</em> an.</p>
<p>Demo 3 Spezial Effekte &#8211; <a href="http://d4nza.de/blog/dev/jquery/demo3.html">Anzeigebeispiel: So sieht&#8217;s aus</a></p>
<pre class="brush: xml; title: ; notranslate">
&lt;html&gt;
    &lt;head&gt;
        &lt;!--<acronym title="jQuery ist ein freies, umfangreiches JavaScript-Framework">jQuery</acronym> Framework laden--&gt;
        &lt;script src=&quot;jquery.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;

        &lt;!--Code für Demo 3--&gt;
        &lt;script type=&quot;text/javascript&quot;&gt;
        $(document).ready(function(){
            /*Box klein machen*/
            $('a#klein').click(function(){
                $('div').animate({ height: 80, width: 120 }, &quot;slow&quot;, function(){});
            })
            /*Die Box große machen*/
            $('a#gross').click(function(){
                $('div').animate({ height: 200, width: 800 }, &quot;slow&quot;, function(){});
            })
            /*Mehrer Effekte bestimmen*/
            $(&quot;a#slideFade&quot;).toggle(function(){
                $(&quot;div&quot;).animate({ height: 'hide', opacity: 'hide' }, 'slow');
            },function(){
                $(&quot;div&quot;).animate({ height: 'show', opacity: 'show' }, 'slow');
            })
        });
        &lt;/script&gt;
    &lt;/head&gt;

    &lt;body&gt;
        &lt;div style=&quot;background-color:#336699;color:#fff;&quot;&gt;Ich bin eine Testbox und muss immer viel arbeiten <img src='http://d4nza.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> &lt;/div&gt;

        &lt;p&gt;&lt;a href=&quot;#&quot; id=&quot;klein&quot;&gt;Mach die Box klein (80 x 120px)&lt;/a&gt;&lt;/p&gt;
        &lt;p&gt;&lt;a href=&quot;#&quot; id=&quot;gross&quot;&gt;Mach die Box Groß (200 x 800px)&lt;/a&gt;&lt;/p&gt;
        &lt;p&gt;&lt;a href=&quot;#&quot; id=&quot;slideFade&quot;&gt;Dieser Link führt zwei Unteschiedliche Funktionen aus&lt;/a&gt;&lt;/p&gt;
    &lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Ich habe noch zwei weitere Links hinzugefügt und genau wie eben noch ein paar Effekte hinzugefügt. Einzige Besonderheit ist bei Link Nummer 3. Er führt beim zweiten Klick eine andere Funktion aus, als beim ersten. Beim ersten Klick lässt er die Box verschwinden und beim zweiten Klick wieder erscheinen. Dafür habe ich die Funktion <em>toggle</em> benutzt. An ihr kann man beliebig viele Funktionen an Reihen, die der Reihe nach abgearbeitet werden und dann wieder von vorne beginnt. Per <em>animate</em> und der <em>height</em> und <em>opacity</em> und der Eigenschaft <em>hide</em> bzw. <em>show</em> kann man die Box verschwinden und wieder erscheinen lassen.</p>
<p>Am besten man guckt sich mal die Beispiel Seite an und probiert es selber einmal.</p>
<p>Wer noch weiter probieren will, sollte sich mal <acronym title="jQuery ist ein freies, umfangreiches JavaScript-Framework">jQuery</acronym> UI ansehen, hier zu auch <a href="http://d4nza.de/blog/tutorials/jquery-ui-ajax-animierter-ladebalken/">ein kleines Tutorial.</a></p>
<p><strong>Englische Übersetzung von Pathin &#8211; <a href="http://www.pathin.org/tutorials/jquery-tutorial/" title="jQuery Tutorial">http://www.pathin.org/tutorials/jquery-tutorial/</a></strong></p>]]></content:encoded>
			<wfw:commentRss>http://d4nza.de/blog/tutorials/jquery-tutorial-1/feed</wfw:commentRss>
		<slash:comments>36</slash:comments>
		</item>
		<item>
		<title>jquery Framework</title>
		<link>http://d4nza.de/blog/website-tipp/jquery-framework</link>
		<comments>http://d4nza.de/blog/website-tipp/jquery-framework#comments</comments>
		<pubDate>Sat, 14 Feb 2009 00:26:47 +0000</pubDate>
		<dc:creator>danza</dc:creator>
				<category><![CDATA[Website Tipps]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[webdevelopment]]></category>

		<guid isPermaLink="false">http://blog.d4nza.de/?p=74</guid>
		<description><![CDATA[Ich wollte euch mal kurz auf die javascript Libary jquery aufmerksam machen. Ich habe selber noch nicht mitgearbeitet, habe aber schon viel gutes drüber gehört und werde es mir demnächst auch mal im Detail anschauen. Dann werdet ihr von mir auch nochmal eine genaue Bewertung und Empfehlung bekommen. Fakt ist man kann damit, wenn man [...]]]></description>
			<content:encoded><![CDATA[<p>Ich wollte euch mal kurz auf die javascript Libary <a href="http://jquery.com/">jquery </a>aufmerksam machen. Ich habe selber noch nicht mitgearbeitet, habe aber schon viel gutes drüber gehört und werde es mir demnächst auch mal im Detail anschauen. Dann werdet ihr von mir auch nochmal eine genaue Bewertung und Empfehlung bekommen.</p>
<p>Fakt ist man kann damit, wenn man weiß wie, sehr schnell schöne Funktionen schreiben.</p>
<p><a href="http://jquery.com/">http://jquery.com/</a></p>]]></content:encoded>
			<wfw:commentRss>http://d4nza.de/blog/website-tipp/jquery-framework/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

