<?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>xDee &#187; admin</title>
	<atom:link href="http://xdee.net/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://xdee.net</link>
	<description>Photoshop, Flash and other GFX Stuff...</description>
	<lastBuildDate>Fri, 23 Apr 2010 11:44:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Suggestion Vorschlags Script &#8211; Javascript Tutorial</title>
		<link>http://xdee.net/2009/11/04/suggestion-vorschlags-script-javascript-tutorial/</link>
		<comments>http://xdee.net/2009/11/04/suggestion-vorschlags-script-javascript-tutorial/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 17:47:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CSS/HTML Tutorials]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[featured]]></category>
		<category><![CDATA[for schlaufe]]></category>
		<category><![CDATA[funktionen]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Javascript Tutorial]]></category>
		<category><![CDATA[onkeyup]]></category>
		<category><![CDATA[suggestion]]></category>
		<category><![CDATA[vorschlag]]></category>
		<category><![CDATA[vorschläge]]></category>

		<guid isPermaLink="false">http://xdee.net/?p=443</guid>
		<description><![CDATA[
Hallo und herzlich Willkommen zu einem weiteren Tutorial.
In diesem Tutorial wollen wir zusammen ein &#8220;Suggestion-Script&#8221; schreiben. Ein Script welches also Vorschläge (engl. suggestions) macht. Kennen sollte das jeder, da die Suchmaschine Google nämlich genau so eine Funktion eingebaut hat. Gibt man in einem Textfeld einen Teil eines Wortes ein, erscheint sofort das Wort oder Wörter [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;">
<div id="attachment_444" class="wp-caption aligncenter" style="width: 427px"><a href="http://xdee.net/wp-content/uploads/2009/11/logo.jpg" rel="lightbox"><img class="size-full wp-image-444" title="logo" src="http://xdee.net/wp-content/uploads/2009/11/logo.jpg" alt="das Vorschlagsscript bei Google" width="417" height="100" /></a><p class="wp-caption-text">das Vorschlagsscript bei Google</p></div>
<p>Hallo und herzlich Willkommen zu einem weiteren Tutorial.<br />
In diesem Tutorial wollen wir zusammen ein &#8220;Suggestion-Script&#8221; schreiben. Ein Script welches also Vorschläge (engl. suggestions) macht. Kennen sollte das jeder, da die Suchmaschine Google nämlich genau so eine Funktion eingebaut hat. Gibt man in einem Textfeld einen Teil eines Wortes ein, erscheint sofort das Wort oder Wörter die gleich beginnen. Dies ist sehr nützlich und macht es so für den User einfacher zu suchen.</p>
<p><strong>Voraussetzungen:</strong></p>
<ul>
<li>Basis HTML &amp; CSS Kenntnisse</li>
<li>Basis Javascript Kenntnisse</li>
</ul>
<p><strong>Lernziele:</strong></p>
<ul>
<li>Javascript Funktionen mit Parameter</li>
<li>Verwenden von for Schleifen</li>
<li>Verwenden der substring Funktion</li>
</ul>
<p><a href="http://xdee.net/wp-content/uploads/2009/11/index.html">Vorschau</a><span id="more-443"></span></p>
<p>Das Javascript sieht eigentlich ziemlich simpel aus:</p>
<div class="codecolorer-container javascript " style="overflow:auto;white-space:nowrap;width:435px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br /></div></td><td><div class="javascript codecolorer" style="font-family:Monaco,Lucida Console,monospace">&nbsp;</div></td></tr></tbody></table></div>
<div class="codecolorer-container javascript " style="overflow:auto;white-space:nowrap;width:435px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br /></div></td><td><div class="javascript codecolorer" style="font-family:Monaco,Lucida Console,monospace">Hier etwas eingeben<span class="sy0">,</span> damit die Vorschläge erscheinen<span class="sy0">:</span></div></td></tr></tbody></table></div>
<div class="codecolorer-container javascript " style="overflow:auto;white-space:nowrap;width:435px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br /></div></td><td><div class="javascript codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="sy0">&lt;</span>input id<span class="sy0">=</span><span class="st0">&quot;suggestion&quot;</span> onkeyup<span class="sy0">=</span><span class="st0">&quot;suggestion(this.value)&quot;</span> type<span class="sy0">=</span><span class="st0">&quot;text&quot;</span> <span class="sy0">/&gt;</span>Hier weiterer Text... <span class="me1">Lorem</span> Ipsum Dolor und so.</div></td></tr></tbody></table></div>
<div class="codecolorer-container javascript " style="overflow:auto;white-space:nowrap;width:435px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br /></div></td><td><div class="javascript codecolorer" style="font-family:Monaco,Lucida Console,monospace">&nbsp;</div></td></tr></tbody></table></div>
<p>Zuerst erstellen wir einen neuen Array und füllen diesen anschliessend mit Werten. In dem Array können so gut wie unendlich viele Begriffe stehen, jedoch empfiehlt es sich, es damit nicht zu übertreiben da dann das Script langsam werden könnte.</p>
<p>Danach haben wir die eigentliche Funktion.<em> function suggestion(txt)</em> das &#8220;txt&#8221; in den Klammern bedeutet dass alles was der Funktion als Parameter so übergeben wird, für die Funktion in der Variable &#8220;txt&#8221; gespeichert wird. Nun können wir auch schon mit der Auswertung beginnen. Man such dabei in Erinnerung behalten, dass wir später immer das was aktuell gerade im Textfeld steht übergeben werden.</p>
<p>Mit einer if-Abfrage überprüfen wir zuerst ob überhaupt etwas übergeben wurde, also ob überhaupt etwas im Textfeld steht.</p>
<p><em>if(txt == &#8220;&#8221; || txt == null || !txt) </em>bedeutet nichts anderes wie das. Die || stehen für &#8220;oder&#8221;. Dies braucht es, da wie immer nicht alle Browser alles unterstützen. Nun greifen wir auf unseren Div-Container zu. Wir werden ihm später den Namen &#8220;white&#8221; geben, darum rufen wir ihn mit folgendem Code auf, verstecken ihn an und löschen seinen Inhalt, wir erinnern uns: Dieser Code wird nur ausgeführt wenn das Textfeld leer ist.</p>
<p><em>document.getElementById(&#8216;white&#8217;).style.display = &#8220;none&#8221;;<br />
document.getElementById(&#8216;white&#8217;).innerHTML = &#8220;&#8221;;</em></p>
<p>Schlussendlich geben wir noch 0 zurück mit <em>return 0</em>. Dies macht nichts anderes wie die Funktion zu beenden.</p>
<p>Dann kommt der else Teil der Abfrage, wenn das Textfeld also nicht leer ist machen wir folgendes:<br />
Wir löschen wieder den Inhalt des Containers und dann kommt der wichtige Teil, wir starten eine for-Schleife die solange läuft wie es Elemente in dem Array mit den Wörtern hat.</p>
<p><em>for(i=0;i &lt; wlist.length; i++)</em></p>
<p>Der erste Teil ist dabei die Bedingung die erfüllt werden muss, damit die Schleife gestartet wird, i brauchen wir hier als Zählvariable, existiert diese nicht wird sie automatisch erstellt. Danach kommt die Bedingung unter der die Schleife laufen soll, also solange i kleiner ist wie die Anzahl Wörter in der Liste. Nun kommt der letzte Teil, hier wird nur unsere Zählvariable i jedesmal wenn die Schleife von vorne durchgelaufen wird um 1 erhöht. Enthält die Wörterliste also 23 Wörter, wird die Schleife 23 mal durchlaufen.</p>
<p>Nun können wir mit dem &#8220;Herz&#8221; des Scripts beginnen:</p>
<p><em>clen = txt.length;<br />
ctxt = wlist[i].substring(0,clen);</em></p>
<p>Wir speichern zuerst die Länge des Texts in dem Textfeld (der ja per Parameter übergeben wurde) in einer Variable. Danach machen wir von der substring Funktion gebraucht. Zur Information, die substring Funktion kürzt bzw. teilt einen String, in diesem Fall unser Wort und gibt anschliessend das &#8220;rausgeschnittene&#8221; Stück aus. Wir holen also ein Wort aus der Wortliste, in dem wir auf den Array zugreifen und mit Hilfe der Zählvariable i das Wort &#8220;auswählen&#8221;. Nun teilen wir das Wort ein. Der substring Funktion übergeben wir 2 Parameter. Der erste gibt an wo gestartet werden soll, da wir von Anfang an die beiden Werte (der Text im Textfeld und das Wort) vergleichen wollen, ist dieser Wert hier gleich 0. Danach kommt der Endpunkt. Dieser soll in unserem Fall natürlich genau so hoch sein wie die Anzahl Zeichen in dem Textfeld.</p>
<p>Ein kleines Erklärungsbeispiel:</p>
<p>Steht im Textfeld &#8220;Baum&#8221;, ist clen gleich 4, da das Wort &#8220;Baum&#8221; vier Zeichen erhält. Haben wir nun in unserer Wortliste irgendwo das Wort &#8220;Baumschule&#8221; wird es nun mit substring gekürzt und zwar vom 0ten bis zum 4ten Zeichen. Das heisst ctxt entspricht nun auch &#8220;Baum&#8221;. Wir haben einen Treffer und das ganze Wort &#8220;Baumschule&#8221; soll nun bei den Vorschlägen erscheinen.</p>
<p>Wie oben erwähnt prüfen wir zuerst mit einer einfachen if Abfrage ob die beiden Werte gleich sind und schreiben dann in den Div-Container:</p>
<p><em>document.getElementById(&#8216;white&#8217;).style.display = &#8220;block&#8221;;<br />
document.getElementById(&#8216;white&#8217;).innerHTML = document.getElementById(&#8216;white&#8217;).innerHTML + wlist[i] + &#8220;&lt;br /&gt;&#8221;;</em></p>
<p>Zuerst müssen wir angeben, dass unser Container angezeigt werden soll, danach addieren wir quasi das Wort aus der Wortliste hinzu. Wenn wir eine einfache Zuweisung mit einem Gleichheitszeichen machen würden, würde das bedeuten, dass alle anderen Wörter immer wieder aus dem Div-Container gelösch werden würden, das wollen wir ja nicht.</p>
<p>So, unser Script ist nun eigentlich fertig.</p>
<p>Der Schönheit halber hier noch etwas CSS:</p>
<div class="codecolorer-container css " style="overflow:auto;white-space:nowrap;width:435px;height:300px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br /></div></td><td><div class="css codecolorer" style="font-family:Monaco,Lucida Console,monospace">&lt;!--<br />
<span class="re0">#white</span> <span class="br0">&#123;</span><br />
<span class="kw1">position</span><span class="sy0">:</span> <span class="kw2">absolute</span><span class="sy0">;</span><br />
<span class="kw1">top</span><span class="sy0">:</span> <span class="re3">63px</span><span class="sy0">;</span><br />
<span class="kw1">left</span><span class="sy0">:</span> <span class="re3">12px</span><span class="sy0">;</span><br />
<span class="kw1">width</span><span class="sy0">:</span> <span class="re3">144px</span><span class="sy0">;</span><br />
<span class="kw1">border</span><span class="sy0">:</span> <span class="re3">1px</span> <span class="kw2">solid</span> <span class="kw2">silver</span><span class="sy0">;</span><br />
<span class="kw1">background</span><span class="sy0">:</span> <span class="re0">#FFFFFF</span><span class="sy0">;</span><br />
<span class="kw1">color</span><span class="sy0">:</span> <span class="re0">#CBCBCB</span><span class="sy0">;</span><br />
<span class="kw1">font-family</span><span class="sy0">:</span> <span class="st0">&quot;Verdana&quot;</span><span class="sy0">,</span> <span class="st0">&quot;Arial&quot;</span><span class="sy0">,</span> <span class="kw2">sans-serif</span><span class="sy0">;</span><br />
<span class="kw1">display</span><span class="sy0">:</span> <span class="kw2">none</span><span class="sy0">;</span><br />
<span class="kw1">font-size</span><span class="sy0">:</span> <span class="re3">12px</span><span class="sy0">;</span><br />
<span class="kw1">z-index</span><span class="sy0">:</span> <span class="nu0">1</span><span class="sy0">;</span><br />
<span class="kw1">padding</span><span class="sy0">:</span> <span class="re3">3px</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<span class="re0">#suggestion</span> <span class="br0">&#123;</span><br />
<span class="kw1">border</span><span class="sy0">:</span> <span class="re3">1px</span> <span class="kw2">solid</span> <span class="kw2">silver</span><span class="sy0">;</span><br />
<span class="kw1">font-family</span><span class="sy0">:</span> <span class="st0">&quot;Verdana&quot;</span><span class="sy0">,</span> <span class="st0">&quot;Arial&quot;</span><span class="sy0">,</span> <span class="kw2">sans-serif</span><span class="sy0">;</span><br />
<span class="kw1">font-size</span><span class="sy0">:</span> <span class="re3">15px</span><span class="sy0">;</span><br />
<span class="kw1">margin</span><span class="sy0">:</span> <span class="re3">5px</span><span class="sy0">;</span><br />
<span class="kw1">padding</span><span class="sy0">:</span> <span class="re3">2px</span><span class="sy0">;</span><br />
<span class="kw1">float</span><span class="sy0">:</span> <span class="kw1">left</span><span class="sy0">;</span><br />
<span class="kw1">width</span><span class="sy0">:</span> <span class="re3">150px</span><span class="sy0">;</span><br />
<span class="kw1">height</span><span class="sy0">:</span> <span class="re3">30px</span><span class="sy0">;</span><br />
<span class="kw1">clear</span><span class="sy0">:</span> <span class="kw1">left</span><span class="sy0">;</span><br />
<br />
<span class="br0">&#125;</span><br />
--<span class="sy0">&gt;</span></div></td></tr></tbody></table></div>
<p>Dabei ist eigentlich nichts Interessantes, ausser dass &#8220;z-index&#8221; auf 1 und &#8220;position&#8221; auf &#8220;absolute&#8221; stehen muss, damit die Vorschläge unabhängig von der Position des Textfeldes über dem Inhalt angezeigt werden.</p>
<p>Die Position der Vorschläge muss man natürlich ggf. anpassen.</p>
<p>Nun brauchen wir nur noch ein Textfeld, bei dem bei jeder Eingabe unsere Funktion aufgerufen wird:</p>
<div class="codecolorer-container html4strict " style="overflow:auto;white-space:nowrap;width:435px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br /></div></td><td><div class="html4strict codecolorer" style="font-family:Monaco,Lucida Console,monospace">&nbsp;</div></td></tr></tbody></table></div>
<div class="codecolorer-container html4strict " style="overflow:auto;white-space:nowrap;width:435px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br /></div></td><td><div class="html4strict codecolorer" style="font-family:Monaco,Lucida Console,monospace">Hier etwas eingeben, damit die Vorschläge erscheinen:</div></td></tr></tbody></table></div>
<div class="codecolorer-container html4strict " style="overflow:auto;white-space:nowrap;width:435px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br /></div></td><td><div class="html4strict codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="sc2">&lt;<a href="http://december.com/html/4/element/input.html"><span class="kw2">input</span></a> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">&quot;suggestion&quot;</span> <span class="kw3">onkeyup</span><span class="sy0">=</span><span class="st0">&quot;suggestion(this.value)&quot;</span> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">&quot;text&quot;</span> <span class="sy0">/</span>&gt;</span>Hier weiterer Text... Lorem Ipsum Dolor und so.</div></td></tr></tbody></table></div>
<div class="codecolorer-container html4strict " style="overflow:auto;white-space:nowrap;width:435px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br /></div></td><td><div class="html4strict codecolorer" style="font-family:Monaco,Lucida Console,monospace">&nbsp;</div></td></tr></tbody></table></div>
<p>Speziell ist hier folgendes:</p>
<p><em>onkeyup=&#8221;suggestion(this.value)&#8221;</em></p>
<p>Das bewirkt, dass jedesmal wenn das Textfeld angewählt ist und eine Tastatureingabe erfolgt (eine Taste losgelassen wird) unsere Funktion aufgerufen wird. Als Parameter wird &#8220;this.value&#8221; übergeben was nichts anderes wie die Zeichen in dem Textfeld bedeutet.</p>
<p>So, wir können das Script nun testen. Nun sollte man einen Buchstaben, in meinem Fall den Buchstaben &#8220;h&#8221; in das Textfeld eingeben können und es sollten Vorschläge erscheinen.</p>
<p>Vielen Dank für&#8217;s lesen und wie immer, Fragen und Kritik in die Comments.<br />
MFG</p>
<p>Michael</p>

]]></content:encoded>
			<wfw:commentRss>http://xdee.net/2009/11/04/suggestion-vorschlags-script-javascript-tutorial/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Free FLV Player by xDee.net</title>
		<link>http://xdee.net/2009/08/09/free-flv-player-by-xdeenet/</link>
		<comments>http://xdee.net/2009/08/09/free-flv-player-by-xdeenet/#comments</comments>
		<pubDate>Sun, 09 Aug 2009 15:46:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[featured]]></category>
		<category><![CDATA[flash video player]]></category>
		<category><![CDATA[Free Flash FLV Player]]></category>
		<category><![CDATA[online player]]></category>
		<category><![CDATA[stream]]></category>
		<category><![CDATA[Video Player]]></category>
		<category><![CDATA[xDee]]></category>

		<guid isPermaLink="false">http://xdee.net/?p=395</guid>
		<description><![CDATA[Hi Zusammen!
Update: v0.2
Hier nun endlich das erwartete Update des Free FLV Players:
Changelog: 

Fullscreen Mode
Volume Control
Kontrollleiste blendet automatisch aus
Variable Grösse möglich 

Free FLV Player:
Der Free FLV Player spielt wie der Name schon sagt, Filme im FLV Format ab. Der Player lässt sich ganz einfach in die eigene Website einbinden und spielt wahlweise ein festgelegtes Video oder [...]]]></description>
			<content:encoded><![CDATA[<p>Hi Zusammen!</p>
<h2>Update: v0.2</h2>
<p>Hier nun endlich das erwartete Update des Free FLV Players:</p>
<p><strong>Changelog: </strong></p>
<ul>
<li>Fullscreen Mode</li>
<li>Volume Control</li>
<li>Kontrollleiste blendet automatisch aus</li>
<li>Variable Grösse möglich<strong> </strong></li>
</ul>
<p><strong>Free FLV Player:</strong></p>
<p>Der Free FLV Player spielt wie der Name schon sagt, Filme im FLV Format ab. Der Player lässt sich ganz einfach in die eigene Website einbinden und spielt wahlweise ein festgelegtes Video oder lässt den User selbst wählen, welches er gerne abspielen möchte.</p>
<p><strong>Features:</strong></p>
<ul>
<li>Der Pfad zum FLV File lässt sich entweder per Parameter oder direkt im Player selbst angeben.</li>
<li>Mit Streaming Funktion</li>
<li>Der Player ist komplett gratis!</li>
<li>leicht einbindbar</li>
</ul>
<p><strong>Demo:</strong><br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="450" height="328" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="data" value="http://xdee.net/wp-content/uploads/2009/06/xdeeflv.swf?file=http://www.mediacollege.com/video-gallery/testclips/20051210-w50s.flv" /><param name="allowFullScreen" value="true" /><param name="src" value="http://xdee.net/wp-content/uploads/2009/06/xdeeflv.swf?file=http://www.mediacollege.com/video-gallery/testclips/20051210-w50s.flv" /><embed type="application/x-shockwave-flash" width="450" height="328" src="http://xdee.net/wp-content/uploads/2009/06/xdeeflv.swf?file=http://www.mediacollege.com/video-gallery/testclips/20051210-w50s.flv" allowfullscreen="true" data="http://xdee.net/wp-content/uploads/2009/06/xdeeflv.swf?file=http://www.mediacollege.com/video-gallery/testclips/20051210-w50s.flv"></embed></object></p>
<p>Hier wird eine FLV Datei von www.mediacollege.com (Copyright by Mediacollege.com) gestreamt.</p>
<p><span id="more-395"></span></p>
<p><strong>Download: </strong></p>
<p><a href="http://xdee.net/wp-content/uploads/2009/06/xdee-flv-player-v02.zip">xDee FLV Player v0.2</a></p>
<p>Falls ihr den Player verwenden wollt, ladet euch das Paket herunter. Darin befinden sich zum einen der Player und zum anderen eine kleine Hilfe, wie der Player eingebunden werden kann.</p>
<p>Einbinden ohne FLV Datei die geladen wird:</p>
<div class="codecolorer-container html4strict " style="overflow:auto;white-space:nowrap;width:435px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br /></div></td><td><div class="html4strict codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="sc2">&lt;<a href="http://december.com/html/4/element/object.html"><span class="kw2">object</span></a> <span class="kw3">classid</span><span class="sy0">=</span><span class="st0">&quot;clsid:d27cdb6e-ae6d-11cf-96b8-444553540000&quot;</span> <span class="kw3">width</span><span class="sy0">=</span><span class="st0">&quot;300&quot;</span> <span class="kw3">height</span><span class="sy0">=</span><span class="st0">&quot;300&quot;</span> <span class="kw3">codebase</span><span class="sy0">=</span><span class="st0">&quot;http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0&quot;</span>&gt;&lt;<a href="http://december.com/html/4/element/param.html"><span class="kw2">param</span></a> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">&quot;allowFullScreen&quot;</span> <span class="kw3">value</span><span class="sy0">=</span><span class="st0">&quot;true&quot;</span> <span class="sy0">/</span>&gt;&lt;<a href="http://december.com/html/4/element/param.html"><span class="kw2">param</span></a> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">&quot;src&quot;</span> <span class="kw3">value</span><span class="sy0">=</span><span class="st0">&quot;xdeeflv.swf&quot;</span> <span class="sy0">/</span>&gt;&lt;<a href="http://december.com/html/4/element/param.html"><span class="kw2">param</span></a> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">&quot;allowfullscreen&quot;</span> <span class="kw3">value</span><span class="sy0">=</span><span class="st0">&quot;true&quot;</span> <span class="sy0">/</span>&gt;&lt;embed <span class="kw3">type</span><span class="sy0">=</span><span class="st0">&quot;application/x-shockwave-flash&quot;</span> <span class="kw3">width</span><span class="sy0">=</span><span class="st0">&quot;300&quot;</span> <span class="kw3">height</span><span class="sy0">=</span><span class="st0">&quot;300&quot;</span> <span class="kw3">src</span><span class="sy0">=</span><span class="st0">&quot;xdeeflv.swf&quot;</span> allowfullscreen<span class="sy0">=</span><span class="st0">&quot;true&quot;</span>&gt;&lt;<span class="sy0">/</span>embed&gt;&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/object.html"><span class="kw2">object</span></a>&gt;</span></div></td></tr></tbody></table></div>
<p>Einbinden mit FLV Datei die geladen wird:</p>
<div class="codecolorer-container html4strict " style="overflow:auto;white-space:nowrap;width:435px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br /></div></td><td><div class="html4strict codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="sc2">&lt;<a href="http://december.com/html/4/element/object.html"><span class="kw2">object</span></a> <span class="kw3">classid</span><span class="sy0">=</span><span class="st0">&quot;clsid:d27cdb6e-ae6d-11cf-96b8-444553540000&quot;</span> <span class="kw3">width</span><span class="sy0">=</span><span class="st0">&quot;300&quot;</span> <span class="kw3">height</span><span class="sy0">=</span><span class="st0">&quot;300&quot;</span> <span class="kw3">codebase</span><span class="sy0">=</span><span class="st0">&quot;http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0&quot;</span>&gt;&lt;<a href="http://december.com/html/4/element/param.html"><span class="kw2">param</span></a> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">&quot;allowFullScreen&quot;</span> <span class="kw3">value</span><span class="sy0">=</span><span class="st0">&quot;true&quot;</span> <span class="sy0">/</span>&gt;&lt;<a href="http://december.com/html/4/element/param.html"><span class="kw2">param</span></a> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">&quot;src&quot;</span> <span class="kw3">value</span><span class="sy0">=</span><span class="st0">&quot;xdeeflv.swf?file=http://www.mediacollege.com/video-gallery/testclips/20051210-w50s.flv&quot;</span> <span class="sy0">/</span>&gt;&lt;<a href="http://december.com/html/4/element/param.html"><span class="kw2">param</span></a> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">&quot;allowfullscreen&quot;</span> <span class="kw3">value</span><span class="sy0">=</span><span class="st0">&quot;true&quot;</span> <span class="sy0">/</span>&gt;&lt;embed <span class="kw3">type</span><span class="sy0">=</span><span class="st0">&quot;application/x-shockwave-flash&quot;</span> <span class="kw3">width</span><span class="sy0">=</span><span class="st0">&quot;300&quot;</span> <span class="kw3">height</span><span class="sy0">=</span><span class="st0">&quot;300&quot;</span> <span class="kw3">src</span><span class="sy0">=</span><span class="st0">&quot;xdeeflv.swf?file=http://www.mediacollege.com/video-gallery/testclips/20051210-w50s.flv&quot;</span> allowfullscreen<span class="sy0">=</span><span class="st0">&quot;true&quot;</span>&gt;&lt;<span class="sy0">/</span>embed&gt;&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/object.html"><span class="kw2">object</span></a>&gt;</span></div></td></tr></tbody></table></div>
<p>Ich hoffe der Player gefällt euch&#8230;<br />
Für Fragen und Kritik benutzt doch bitte die Comments.<br />
MFG<br />
Michael</p>

]]></content:encoded>
			<wfw:commentRss>http://xdee.net/2009/08/09/free-flv-player-by-xdeenet/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Eigenes Firefox Searchplugin &#8211; Javascript Tutorial</title>
		<link>http://xdee.net/2009/07/26/eigenes-firefox-searchplugin-javascript-tutorial/</link>
		<comments>http://xdee.net/2009/07/26/eigenes-firefox-searchplugin-javascript-tutorial/#comments</comments>
		<pubDate>Sun, 26 Jul 2009 23:47:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CSS/HTML Tutorials]]></category>
		<category><![CDATA[Firefox Suchplugin]]></category>
		<category><![CDATA[Internet Explorer Suchplugin]]></category>
		<category><![CDATA[Javascript Tutorial]]></category>
		<category><![CDATA[OpenSearch]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Suche]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://xdee.net/?p=424</guid>
		<description><![CDATA[
So sieht das Suchfeld in Firefox aus.
Hier ein Tutorial für alle Firefox User oder für Webmaster die Firefox Usern eine Möglichkeit bieten wollen, die eigene Seite einfach und schnell direkt in Firefox zu durchsuchen. Firefox hat nämlich eine kleine Suchbox in der man standartmässig auf Google oder Yahoo suchen kann, jedoch kann man dort auch [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://xdee.net/wp-content/uploads/2009/07/searchbar.jpg" rel="lightbox"><img class="size-full wp-image-425 aligncenter" title="searchbar" src="http://xdee.net/wp-content/uploads/2009/07/searchbar.jpg" alt="So sieht das Suchfeld in Firefox aus." width="417" height="34" /></a></p>
<p style="text-align: center;"><em>So sieht das Suchfeld in Firefox aus.</em></p>
<p>Hier ein Tutorial für alle Firefox User oder für Webmaster die Firefox Usern eine Möglichkeit bieten wollen, die eigene Seite einfach und schnell direkt in Firefox zu durchsuchen. Firefox hat nämlich eine kleine Suchbox in der man standartmässig auf Google oder Yahoo suchen kann, jedoch kann man dort auch ganz einfach dem User ermöglichen dort die eigene Seite einzubinden. Wie das genau geht und was ihr dazu braucht, erkläre ich euch hier in diesem Tutorial.</p>
<p><span id="more-424"></span> <strong>Lernziele:</strong></p>
<ul>
<li>Javascript Browserweiche</li>
<li>Firefox Suchplugin erstellen</li>
</ul>
<p><strong>Voraussetzungen:</strong></p>
<ul>
<li>Basis HTML Kentnisse</li>
</ul>
<p><a href="http://xdee.net/wp-content/uploads/2009/07/suchplugin.html">Für eine Vorschau hier klicken.</a></p>
<p>Zuerst etwas Theorie, Firefox und der Internet Explorer (ab ver 7.0) unterstützen den <a href="http://www.opensearch.org" target="_blank">Opensearch Standard</a>. Dieser wurde eingeführt um Suchergebnisse zu vereinheitlichen um so möglichst vielen Clients das Auslesen der Sucherebnissen zu ermöglichen.</p>
<p>So nun aber zum eigentlichen &#8220;Plugin&#8221;. Eigentlich ist dies nichts weiter als eine .xml Datei. Erstellt also eine neue .xml Datei und gebt ihr zum Beispiel den Namen &#8220;opensearch.xml&#8221;. Nun gebt ihr dort folgendes ein:</p>
<div class="codecolorer-container xml " style="overflow:auto;white-space:nowrap;width:435px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br /></div></td><td><div class="xml codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="sc3"><span class="re1">&lt;?xml</span> <span class="re0">version</span>=<span class="st0">&quot;1.0&quot;</span> <span class="re0">encoding</span>=<span class="st0">&quot;UTF-8&quot;</span><span class="re2">?&gt;</span></span><br />
<span class="sc3"><span class="re1">&lt;OpenSearchDescription</span> <span class="re0">xmlns</span>=<span class="st0">&quot;http://a9.com/-/spec/opensearch/1.1/&quot;</span><span class="re2">&gt;</span></span><br />
<br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;ShortName<span class="re2">&gt;</span></span></span>Name der Seite<span class="sc3"><span class="re1">&lt;/ShortName<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Description<span class="re2">&gt;</span></span></span>eine kurze Beschreibung<span class="sc3"><span class="re1">&lt;/Description<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Url</span> <span class="re0">template</span>=<span class="st0">&quot;die Suchurl&quot;</span> <span class="re0">type</span>=<span class="st0">&quot;text/html&quot;</span> <span class="re0">method</span>=<span class="st0">&quot;GET&quot;</span> <span class="re2">/&gt;</span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Image</span> <span class="re0">height</span>=<span class="st0">&quot;16&quot;</span> <span class="re0">width</span>=<span class="st0">&quot;16&quot;</span> <span class="re0">type</span>=<span class="st0">&quot;image/vnd.microsoft.icon&quot;</span><span class="re2">&gt;</span></span>Adresse zu Bild in .ico Format<span class="sc3"><span class="re1">&lt;/Image<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;OutputEncoding<span class="re2">&gt;</span></span></span>UTF-8<span class="sc3"><span class="re1">&lt;/OutputEncoding<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;InputEncoding<span class="re2">&gt;</span></span></span>UTF-8<span class="sc3"><span class="re1">&lt;/InputEncoding<span class="re2">&gt;</span></span></span><br />
<span class="sc3"><span class="re1">&lt;/OpenSearchDescription<span class="re2">&gt;</span></span></span></div></td></tr></tbody></table></div>
<p>Das meiste sollte eigentlich klar sein, unter &#8220;Url template&#8221; gebt ihr an, an welche URL der Suchstring gesendet werden soll. Diese kann zum Beispiel so aussehen: <em><strong>www.deinedomain.de/suche.php?suche=</strong></em>. Unter &#8220;Image&#8221; kann man optional noch den Link zu einem Bild im .ico Format angeben, dieses wird dann in dem Suchfeld angezeigt. Zum Beispiel kann man den Link zu einem Favicon angeben: <strong><em>http://www.xdee.net/favicon.ico </em></strong></p>
<p>Nun da wir unsere .xml Datei haben, müssen wir dem Browser noch mitteilen, dass die Seite ein solches Plugin anbietet. Dies tun wir ganz einfach indem wir in einem HTML Dokument im HEAD Bereich folgendes hinzufügen:</p>
<div class="codecolorer-container html4strict " style="overflow:auto;white-space:nowrap;width:435px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br /></div></td><td><div class="html4strict codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="sc2">&lt;<a href="http://december.com/html/4/element/link.html"><span class="kw2">link</span></a> <span class="kw3">rel</span><span class="sy0">=</span><span class="st0">&quot;search&quot;</span> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">&quot;application/opensearchdescription+xml&quot;</span> <span class="kw3">title</span><span class="sy0">=</span><span class="st0">&quot;Titel deiner Seite&quot;</span> <span class="kw3">href</span><span class="sy0">=</span><span class="st0">&quot;Adresse von opensearch.xml Datei&quot;</span> <span class="sy0">/</span>&gt;</span></div></td></tr></tbody></table></div>
<p>Nun weiss der Browser also, dass so ein Plugin vorhanden ist, um das Plugin aber nun hinzuzufügen brauchen wir nun aber noch etwas Javascript.</p>
<p>Mit folgendem Code bewirken wir, dass das Suchplugin beim Aufruf der Funktion hinzugefügt wird:</p>
<div class="codecolorer-container javascript " style="overflow:auto;white-space:nowrap;width:435px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td><div class="javascript codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="kw2">function</span> searchAdd<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="kw1">if</span> <span class="br0">&#40;</span>window.<span class="me1">external</span> <span class="sy0">&amp;</span>amp<span class="sy0">;&amp;</span>amp<span class="sy0">;</span> <span class="br0">&#40;</span><span class="st0">&quot;AddSearchProvider&quot;</span> <span class="kw1">in</span> window.<span class="me1">external</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
window.<span class="me1">external</span>.<span class="me1">AddSearchProvider</span><span class="br0">&#40;</span><span class="st0">&quot;Link zu opensearch.xml Datei&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span><br />
<span class="kw3">alert</span><span class="br0">&#40;</span><span class="st0">&quot;Ihr Browser unterstütz leider keine Suchplugins. Benutzen Sie doch Firefox oder den IE 7.0&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<br />
<span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></div></td></tr></tbody></table></div>
<p>Zuerst wird geprüft ob &#8220;window.external&#8221; und die Funktion &#8220;AddSearchProvider&#8221; existieren. Im Firfox und im IE ist dies der Fall. Danach wird eben diese Funktion aufgerufen und das Suchplugin wird hinzugefügt.</p>
<p>Nun müssen wir diese Funktion noch aufrufen, mit etwas HTML Code können wir dies zum Beispiel beim Klick auf einen Link tun:</p>
<div class="codecolorer-container html4strict " style="overflow:auto;white-space:nowrap;width:435px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br /></div></td><td><div class="html4strict codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="sc2">&lt;<a href="http://december.com/html/4/element/a.html"><span class="kw2">a</span></a> <span class="kw3">href</span><span class="sy0">=</span><span class="st0">&quot;#&quot;</span> <span class="kw3">onclick</span><span class="sy0">=</span><span class="st0">&quot;searchAdd()&quot;</span>&gt;</span>Klicke hier für das Suchplugin!<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/a.html"><span class="kw2">a</span></a>&gt;</span></div></td></tr></tbody></table></div>
<p>So, beim Klick auf den Link wird eine Meldung erscheinen und euer Browser wird euch fragen, ob ihr die Suche hinzufügen wollt oder nicht. Danach wird die Suche im Browser im Suchfeld möglich sein.</p>
<p>Dies ist eine gute Möglichkeit um dem User eine einfache Suche zu ermöglichen, ohne dass er zuerst die Seite aufrufen muss.</p>
<p>Für Fragen, Kritik etc. benutzt doch einfach die Kommentarfunktion <img src='http://xdee.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>MFG</p>
<p>Michael</p>

]]></content:encoded>
			<wfw:commentRss>http://xdee.net/2009/07/26/eigenes-firefox-searchplugin-javascript-tutorial/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>5 einfache Schritte für effiziente PHP Programmierung</title>
		<link>http://xdee.net/2009/07/25/5-einfache-schritte-fur-effiziente-php-programmierung/</link>
		<comments>http://xdee.net/2009/07/25/5-einfache-schritte-fur-effiziente-php-programmierung/#comments</comments>
		<pubDate>Sat, 25 Jul 2009 12:39:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP Tutorials]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[effizient Programmieren]]></category>
		<category><![CDATA[effiziente php Programmierung]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PSPad]]></category>
		<category><![CDATA[xampp]]></category>

		<guid isPermaLink="false">http://xdee.net/?p=420</guid>
		<description><![CDATA[Wie versprochen kommen nun einige Tutorials zum Thema PHP. Um mal ganz grundlegend anzufangen hier 5 einfache Tipps mit denen ihr effizient(er) PHP Programmieren könnt und die euch auch als Anfänger den Einstieg erleichtern.

1. Richtiger Editor
Rein theoretisch kann man schon mit dem standard Editor PHP Programmieren, doch im Internet gibt es mehr als genug Freeware [...]]]></description>
			<content:encoded><![CDATA[<p>Wie versprochen kommen nun einige Tutorials zum Thema PHP. Um mal ganz grundlegend anzufangen hier 5 einfache Tipps mit denen ihr effizient(er) PHP Programmieren könnt und die euch auch als Anfänger den Einstieg erleichtern.</p>
<p><span id="more-420"></span></p>
<h2>1. Richtiger Editor</h2>
<p>Rein theoretisch kann man schon mit dem standard Editor PHP Programmieren, doch im Internet gibt es mehr als genug Freeware Anwendungen die euch vieles Abnehmen und euch die Arbeit erleichtern. Hier eine Auflistung von einigen:</p>
<p><strong>Für Windows: </strong></p>
<ul>
<li><em>PSPad</em> &#8211; Ein vielfältiger Editor mit Syntaxhighlighting für diverse Programmiersprachen. HTML Files lassen sich direkt im Editor anzeigen. Mit Rechtschreibprüfung und in verschiedenen Sprachen erhältlich. Dieser Editor ist mein persönlicher Favorit, da er einfach, schnell und viele Funktionen hat. <a title="Download PSPad" href="http://www.pspad.com/de/download.php" target="_blank">Download</a></li>
</ul>
<ul>
<li><em>Notepad++</em> &#8211; Notepad++ ist ein Open-Source-Editor, der äußerst viele Programmiersprachen unter MS Windows unterstützt. Ein sehr guter und viel benutzer Editor. <a title="Notepad++ Download" href="http://notepad-plus.sourceforge.net/de/download.php?lang=de" target="_blank">Download</a></li>
</ul>
<p><strong>Für Linux:</strong></p>
<ul>
<li><em>Kate</em><strong> &#8211; </strong>Kate ist ein sehr vielfältiger Open Source Editor für Linux. Er unterstützt das bearbeiten von mehreren Dateien und das verwalten von Projekten. <a title="Infos zu Kate" href="http://kate-editor.org/kate" target="_blank">Infos</a></li>
</ul>
<h2>2. Lokal Testen</h2>
<p>Natürlich kann man die PHP Files auch jedesmal auf einen Server hochladen und dort ausführen, doch das kann man sich auch sparen indem man sich <em>XAMPP </em>installiert. XAMPP installiert einen ganzen Apache Server lokal auf dem Rechner mit allen Features wie PHP, MySQL etc. also genau richtig, wenn man keinen Server hat oder ganz einfach alles lokal testen will. XAMPP einfach herunterladen und installieren und schon lassen sich PHP Files in deinem Webbrowser ausführen. <a title="XAMPP Download" href="http://www.apachefriends.org/de/xampp.html" target="_blank">Download</a></p>
<h2>3. kleine Schritte =&gt; grosser Erfolg</h2>
<p>Vorallem bei grossen Projekten kann es schon mal vorkommen, dass man den Überblick verliert und schnell die Lust am Programmieren verliert. Darum sollte man immer möglichst kleine Schritte abschliessen, so wird 1. sicher gestellt, dass das Script immer funktioniert und 2. ist das Erfolgsgefühl um einiges grösser wenn man nicht 1 Stunde am Programmieren war und dann am Schluss nichts geht. Das Script sollte man sobald wieder etwas kleines fertig Programmiert wurde wie zum Beispiel eine neue Funktion, eine Verbindung zur Datenbank etc. immer mal wieder testen. Klar muss ein Profi nicht alle 5 Minuten sein Script testen, doch Anfängern hilft dies vorallem auch um den Code zu verstehen und um Fehler frühzeitig zu beheben.</p>
<h2>4. Outsourcing</h2>
<p>Schwieriges Wort &#8211; einfacher Sinn. Bei langen Scripts mit mehreren hunder Zeilen kann es schon vorkommen, dass auf einmal einfach etwas überhaupt nicht mehr funktioniert. Dann hilft es oft, wenn man diesen kleinen Teil komplett und unabhängig nochmal kurz neuschreibt und dann testet. So entdeckt man mögliche Fehler und verhindert ein Bugchaos am Schluss.</p>
<h2>5. Wiederverwenden</h2>
<p>Es macht keinen Sinn 10mal die Funktion um mit MySQL zu verbinden neu zu schreiben oder 5mal ein neues Login Script zu schreiben. Darum lohnt es sich, wenn man kleine Dinge wie zum Beispiel ein Login Script, eine Datenbabfrage und Ausgabe abspeichert, sodass man diese dann später einfach nur noch einzubinden braucht.</p>
<p>Ich hoffe einige dieser Tipps sind nützlich und so hoffe ich, dass auch Anfänger bald mit Freude und Erfolg PHP Programmieren können.</p>
<p>Fragen, Kritik einfach in die Comments</p>
<p>MFG</p>
<p>Michael</p>
<ul></ul>

]]></content:encoded>
			<wfw:commentRss>http://xdee.net/2009/07/25/5-einfache-schritte-fur-effiziente-php-programmierung/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Urlaubspause und neue Kategorie</title>
		<link>http://xdee.net/2009/07/25/urlaubspause-und-neue-kategorie/</link>
		<comments>http://xdee.net/2009/07/25/urlaubspause-und-neue-kategorie/#comments</comments>
		<pubDate>Sat, 25 Jul 2009 11:03:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Misc.]]></category>

		<guid isPermaLink="false">http://xdee.net/?p=418</guid>
		<description><![CDATA[So nach meinem dreiwöchigen Aufenthalt im sonnigen Spanien, kann ich mich nun endlich wieder um die Seite kümmern. Es gibt einiges an Neuigkeiten, so wird es zum Beispiel bald mehrere Tutorials zu den Themen PHP &#38; MySQL geben. In letzer Zeit befasse ich mich immer mehr damit und möchte darum ein paar Tutorials dazu schreiben.
Auch [...]]]></description>
			<content:encoded><![CDATA[<p>So nach meinem dreiwöchigen Aufenthalt im sonnigen Spanien, kann ich mich nun endlich wieder um die Seite kümmern. Es gibt einiges an Neuigkeiten, so wird es zum Beispiel bald mehrere Tutorials zu den Themen PHP &amp; MySQL geben. In letzer Zeit befasse ich mich immer mehr damit und möchte darum ein paar Tutorials dazu schreiben.</p>
<p>Auch habe ich vor einige vorgefertigte Scripts zum Download anzubieten.</p>
<p>MFG</p>
<p>Michael</p>

]]></content:encoded>
			<wfw:commentRss>http://xdee.net/2009/07/25/urlaubspause-und-neue-kategorie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Floating Top Bar &#8211; Javascript Tutorial</title>
		<link>http://xdee.net/2009/06/27/floating-top-bar-javascript-tutorial/</link>
		<comments>http://xdee.net/2009/06/27/floating-top-bar-javascript-tutorial/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 13:58:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CSS/HTML Tutorials]]></category>
		<category><![CDATA[Browserweiche]]></category>
		<category><![CDATA[Floating Top Bar]]></category>
		<category><![CDATA[Javascript Tutorial]]></category>
		<category><![CDATA[setInterval]]></category>

		<guid isPermaLink="false">http://xdee.net/?p=406</guid>
		<description><![CDATA[Hier nun wieder einmal ein Javascript Tutorial. Eine beliebte Methode um Werbung, Warnungen oder Meldungen auf einer Website darzustellen sind sogenannte &#8220;Floating Top Bars&#8220;. Sie befinden sich oberhalb der Website und &#8220;fliessen&#8221; sozusagen mit, das heisst wenn der User nach unten scrollt, bewegt sich auch die Top Bar mit nach unten.
In diesem Tutorial will ich [...]]]></description>
			<content:encoded><![CDATA[<p>Hier nun wieder einmal ein Javascript Tutorial. Eine beliebte Methode um Werbung, Warnungen oder Meldungen auf einer Website darzustellen sind sogenannte &#8220;<em>Floating Top Bars</em>&#8220;. Sie befinden sich oberhalb der Website und &#8220;fliessen&#8221; sozusagen mit, das heisst wenn der User nach unten scrollt, bewegt sich auch die Top Bar mit nach unten.</p>
<p>In diesem Tutorial will ich euch zeigen wie ihr mit relativ wenig Code schnell und einfach eure eigenen Floating Top Bar erstellen könnt und so dem User wichtige Meldungen anzeigen oder einfach einen guten Tag wünschen könnt.</p>
<p><strong>Lernziele: </strong></p>
<ul>
<li>CSS Elemente absolut ausrichten</li>
<li>Javascript Funktionen in einem Intervall aufrufen</li>
<li>Browserweiche</li>
</ul>
<p><strong>Voraussetzungen:</strong></p>
<ul>
<li>Basis CSS &amp; HTML Kenntnisse</li>
</ul>
<p><a href="http://xdee.net/wp-content/uploads/2009/06/top_bar.html">Vorschau</a></p>
<p><span id="more-406"></span></p>
<p>Erstellt ein neues HTML Dokument und fügt dann folgenden CSS Code in den <em>&lt;head&gt;</em> Bereich ein:</p>
<div class="codecolorer-container css " style="overflow:auto;white-space:nowrap;width:435px;height:300px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br /></div></td><td><div class="css codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="re0">#top_bar</span> <span class="br0">&#123;</span><br />
<span class="kw1">position</span><span class="sy0">:</span> <span class="kw2">absolute</span><span class="sy0">;</span><br />
<span class="kw1">top</span><span class="sy0">:</span> <span class="re3">0px</span><span class="sy0">;</span><br />
<span class="kw1">left</span><span class="sy0">:</span> <span class="re3">0px</span><span class="sy0">;</span><br />
<span class="kw1">width</span><span class="sy0">:</span> <span class="re3"><span class="nu0">100</span>%</span><span class="sy0">;</span><br />
<span class="kw1">height</span><span class="sy0">:</span> <span class="re3">30px</span><span class="sy0">;</span><br />
<span class="kw1">background</span><span class="sy0">:</span> <span class="re0">#ffffe1</span><span class="sy0">;</span><br />
<span class="kw1">border-bottom</span><span class="sy0">:</span> <span class="re3">1px</span> <span class="kw2">solid</span> <span class="kw1">black</span><span class="sy0">;</span><br />
<span class="kw1">float</span><span class="sy0">:</span> <span class="kw1">left</span><span class="sy0">;</span><br />
<span class="kw1">z-index</span><span class="sy0">:</span><span class="nu0">2</span><span class="sy0">;</span><br />
<span class="kw1">font-size</span><span class="sy0">:</span> <span class="re3">12px</span><span class="sy0">;</span><br />
<span class="kw1">font-weight</span><span class="sy0">:</span> <span class="kw2">normal</span><span class="sy0">;</span><br />
<span class="kw1">display</span><span class="sy0">:</span> <span class="kw2">inline</span><span class="sy0">;</span><br />
<span class="kw1">font-family</span><span class="sy0">:</span> Arial<span class="sy0">,</span> Verdana<span class="sy0">,</span> <span class="kw2">sans-serif</span><span class="sy0">;</span><br />
<span class="kw1">text-align</span><span class="sy0">:</span> <span class="kw1">left</span><span class="sy0">;</span><br />
<span class="kw1">color</span><span class="sy0">:</span> <span class="kw1">black</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<span class="re0">#top_bar</span><span class="re2">:hover </span><span class="br0">&#123;</span><br />
<span class="kw1">background</span><span class="sy0">:</span> <span class="re0">#004ba8</span><span class="sy0">;</span><br />
<span class="kw1">color</span><span class="sy0">:</span> <span class="kw2">white</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<span class="re0">#top_bar</span> p<span class="re1">.infotext</span> <span class="br0">&#123;</span><br />
<span class="kw1">float</span><span class="sy0">:</span> <span class="kw1">left</span><span class="sy0">;</span><br />
<span class="kw1">padding-left</span><span class="sy0">:</span> <span class="re3">20px</span><span class="sy0">;</span><br />
<span class="kw1">padding-right</span><span class="sy0">:</span> <span class="re3">20px</span><span class="sy0">;</span><br />
<span class="kw1">margin-left</span><span class="sy0">:</span> <span class="re3">15px</span><span class="sy0">;</span><br />
<span class="kw1">margin-top</span><span class="sy0">:</span> <span class="re3">7px</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<span class="re0">#top_bar</span> a<span class="re1">.close</span> <span class="br0">&#123;</span><br />
<span class="kw1">font-size</span><span class="sy0">:</span> <span class="re3">14px</span><span class="sy0">;</span><br />
<span class="kw1">font-weight</span><span class="sy0">:</span> <span class="kw2">bold</span><span class="sy0">;</span><br />
<span class="kw1">text-align</span><span class="sy0">:</span> <span class="kw1">right</span><span class="sy0">;</span><br />
<span class="kw1">margin-top</span><span class="sy0">:</span> <span class="re3">7px</span><span class="sy0">;</span><br />
<span class="kw1">margin-right</span><span class="sy0">:</span> <span class="re3">15px</span><span class="sy0">;</span><br />
<span class="kw1">float</span><span class="sy0">:</span> <span class="kw1">right</span><span class="sy0">;</span><br />
<span class="kw1">color</span><span class="sy0">:</span> <span class="kw2">silver</span><span class="sy0">;</span><br />
<span class="kw1">text-decoration</span><span class="sy0">:</span> <span class="kw2">none</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<span class="re0">#top_bar</span> a<span class="re1">.close</span><span class="re2">:hover </span><span class="br0">&#123;</span><br />
<span class="kw1">margin-top</span><span class="sy0">:</span> <span class="re3">8px</span><span class="sy0">;</span>color<span class="sy0">:</span> <span class="kw2">white</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span></div></td></tr></tbody></table></div>
<p>Eigentlich sollte das alles recht verständlich sein.Wichtig sind dabei &#8220;<em><strong>width:100%</strong></em>&#8220;, &#8220;<em><strong>position:absolute</strong></em>&#8221; und &#8220;<em><strong>z-index:2</strong></em>&#8220;.<br />
Mit der width Angabe bewirken wir, dass die Top Bar immer die volle verfügbare Breite ausfüllt. Natürlich kann dieser Wert auch geändert werden, doch aus ästhetischen Gründen würde ich das nicht empfehlen. Die Position wird auf &#8220;absolute&#8221; gesetzt, das heisst dass sich die Top Bar immer absolut zu den anderen Elementen verhält, also sich immer an der selben Position befindet, egal wie gross der restliche Inhalt ist. Schlussendlich brauchen wir noch den z-index. Mit ihm legen wir fest, dass sich die Top Bar über dem Inhalt befinden soll.</p>
<p>Nun kommt unser Javascript:</p>
<div class="codecolorer-container javascript " style="overflow:auto;white-space:nowrap;width:435px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br /></div></td><td><div class="javascript codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="sy0">&lt;</span>script type<span class="sy0">=</span><span class="st0">&quot;text/javascript&quot;</span><span class="sy0">&gt;&lt;!--</span><br />
<span class="kw2">function</span> placeIt<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="kw1">if</span> <span class="br0">&#40;</span><span class="sy0">!</span>document.<span class="me1">all</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">&quot;top_bar&quot;</span><span class="br0">&#41;</span>.<span class="me1">style</span>.<span class="me1">top</span> <span class="sy0">=</span> &nbsp;window.<span class="me1">pageYOffset</span> <span class="sy0">+</span><span class="st0">&quot;px&quot;</span><span class="sy0">;</span> <span class="co1">// Für Mozilla etc.</span><br />
<span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span><br />
document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">&quot;top_bar&quot;</span><span class="br0">&#41;</span>.<span class="me1">style</span>.<span class="me1">top</span> <span class="sy0">=</span> &nbsp;document.<span class="me1">documentElement</span>.<span class="me1">scrollTop</span> <span class="sy0">+</span><span class="st0">&quot;px&quot;</span><span class="sy0">;</span> <span class="co1">// Für den IE...</span><br />
<span class="br0">&#125;</span><br />
<br />
window.<span class="me1">setTimeout</span><span class="br0">&#40;</span><span class="st0">&quot;placeIt()&quot;</span><span class="sy0">,</span> <span class="nu0">1</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<span class="co1">// --&gt;&lt;/script&gt;</span></div></td></tr></tbody></table></div>
<p>Eigentlich vergleichsweise kurz, nicht? Nun die Erklärung dazu:</p>
<p>Die Funktion um unsere Top Bar zu platzieren nennen wir &#8220;placeIt&#8221;. Zuerst brauchen wir eine sogenannte <strong>Browserweiche</strong>. Da der Internet Explorer bekanntlich oft rumzickt und sich nicht an die Standarts hält, müssen wir eine kleine Unterscheidung durchführen:</p>
<p><em>if (!document.all) {: </em>Wenn <em><strong>document.all = false</strong> </em>ist, wird das Script <strong>nicht</strong> im Internet Explorer ausgeführt.</p>
<p>Nun aber zum eigentlichen Teil:</p>
<p>Mit &#8220;<em>document.getElementById(&#8220;top_bar&#8221;).style.top&#8221;</em> greifen wir auf die Style Eigenschaft unseres Top Bar Div Containers zu. Das &#8220;top&#8221; bedeutet, dass wir hiermit die Position oberhalb angeben können. Eigentlich könnten wir den Wert einfach auf 0 setzen, dies würde schon reichen, wenn wir da nicht das kleine Problem hätten, dass sich die Top Bar ja mitbewegen soll, wenn der User scrollt.<br />
Die Anzahl Pixel die der User nach unten gescrollt hat lässt sich mit &#8220;<em>window.pageYOffset</em>&#8221; und mit &#8220;<em>document.documentElement.scrollTop</em>&#8221; (im IE) ermitteln. So bewirken wir, dass sich unsere Top Bar mitbewegt.</p>
<p>Aber halt, etwas fehlt doch noch! Damit unsere Funktion immer wieder aufgerufen wird, müssen wir noch folgendes hinzufügen:</p>
<p><em>window.setTimeout(&#8220;placeIt()&#8221;, 1) </em>Dies bewirkt einfach, dass die Funktion immer und immer wieder aufgerufen wird. Die Zahl 1 steht dabei für die Anzahl Millisekunden die zwischen den Aufrufen vergehen sollen. Falls Peformance oder sonstige Probleme auftreten sollte man diesen Wert einfach etwas erhöhen&#8230;</p>
<p>Nun noch unser HTML Code:</p>
<div class="codecolorer-container html4strict " style="overflow:auto;white-space:nowrap;width:435px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td><div class="html4strict codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="sc2">&lt;<a href="http://december.com/html/4/element/body.html"><span class="kw2">body</span></a> <span class="kw3">onload</span><span class="sy0">=</span><span class="st0">&quot;placeIt()&quot;</span>&gt;</span><br />
&nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/div.html"><span class="kw2">div</span></a> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">&quot;top_bar&quot;</span>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/p.html"><span class="kw2">p</span></a> <span class="kw3">class</span><span class="sy0">=</span><span class="st0">&quot;infotext&quot;</span>&gt;</span> Lorem ipsum dolor sit amet, consectetuer adipiscing elit<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/p.html"><span class="kw2">p</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/a.html"><span class="kw2">a</span></a> <span class="kw3">class</span><span class="sy0">=</span><span class="st0">&quot;close&quot;</span> <span class="kw3">href</span><span class="sy0">=</span><span class="st0">&quot;#&quot;</span> <span class="kw3">onclick</span><span class="sy0">=</span><span class="st0">&quot;document.getElementById('top_bar').style.display ='none'&quot;</span>&gt;</span>Schliessen<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/a.html"><span class="kw2">a</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/div.html"><span class="kw2">div</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/img.html"><span class="kw2">img</span></a> <span class="kw3">src</span><span class="sy0">=</span><span class="st0">&quot;http://xdee.net/wp-content/uploads/2009/02/lonesome-day-1280x1024.jpg&quot;</span> <span class="sy0">/</span>&gt;</span><br />
&nbsp; &nbsp; <span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/body.html"><span class="kw2">body</span></a>&gt;</span></div></td></tr></tbody></table></div>
<p>Als Beispiel lade ich hier einfach ein Bild, welches ich einmal erstellt habe.</p>
<p>Wichtig sind hier zwei Dinge:</p>
<ul>
<li>Unsere Funktion wird dann zum ersten Mal aufgerufen, wenn das Dokument fertig geladen ist mit &#8220;<em>&lt;body onload=&#8221;placeIt()&#8221;&gt;&#8221;.</em></li>
<li>Der User sollte die Möglichkeit haben die Top Bar zu schliessen, dies bewirken wir indem wir einen Link platzieren und folgenden Code hinzufügen: <em>onclick=&#8221;document.getElementById(&#8216;top_bar&#8217;).style.display =&#8217;none&#8217;&#8221; </em>Damit verstecken wir die Top Bar wieder.</li>
</ul>
<p>Testet nun das Script und experimentiert wie immer ein bisschen damit rum.</p>
<p>Fragen und Kritik einfach in die Comments.</p>
<p>MFG<br />
Michael</p>

]]></content:encoded>
			<wfw:commentRss>http://xdee.net/2009/06/27/floating-top-bar-javascript-tutorial/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flash FLV Stream Player &#8211; Flash Tutorial</title>
		<link>http://xdee.net/2009/05/17/flash-flv-stream-player-flash-tutorial/</link>
		<comments>http://xdee.net/2009/05/17/flash-flv-stream-player-flash-tutorial/#comments</comments>
		<pubDate>Sun, 17 May 2009 11:38:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Flash Tutorials]]></category>
		<category><![CDATA[Flash Tutorial]]></category>
		<category><![CDATA[FLV Player]]></category>
		<category><![CDATA[netConnection]]></category>
		<category><![CDATA[netStream]]></category>
		<category><![CDATA[setBufferTime]]></category>
		<category><![CDATA[stream]]></category>
		<category><![CDATA[Video Player]]></category>

		<guid isPermaLink="false">http://xdee.net/?p=383</guid>
		<description><![CDATA[Es wird wieder einmal Zeit für ein Flash Tutorial. Dieses mal wollen wir uns mit den immer populärer werdenden Flash Stream Playern beschäftigen. Wir werden einen kleinen sehr simpel gehaltenen FLV Player programmieren, der die FLV Datei von einem anderen Server streamt.
Voraussetzungen:

Umgehen mit den Flash Werkzeugen

Lernziele:

Verwenden der NetStream Klasse
Anzeigen von Variablen in Textfeldern


Hier eine Vorschau [...]]]></description>
			<content:encoded><![CDATA[<p>Es wird wieder einmal Zeit für ein Flash Tutorial. Dieses mal wollen wir uns mit den immer populärer werdenden Flash Stream Playern beschäftigen. Wir werden einen kleinen sehr simpel gehaltenen FLV Player programmieren, der die FLV Datei von einem anderen Server streamt.</p>
<p><strong>Voraussetzungen:</strong></p>
<ul>
<li>Umgehen mit den Flash Werkzeugen</li>
</ul>
<p><strong>Lernziele:</strong></p>
<ul>
<li>Verwenden der NetStream Klasse</li>
<li>Anzeigen von Variablen in Textfeldern</li>
</ul>
<p><span id="more-383"></span></p>
<p>Hier eine Vorschau von dem, was wir erstellen werden:</p>
<p><object width="450" height="327" data="http://xdee.net/wp-content/uploads/2009/05/flv-yeah1.swf" type="application/x-shockwave-flash"><param name="src" value="http://xdee.net/wp-content/uploads/2009/05/flv-yeah1.swf" /></object></p>
<p>Ausnahmsweise steht hier einmal der Inhalt und nicht das Design im Vordergrund. Der Player ist sehr einfach aufgebaut. Er lädt ein FLV File von www.mediacollege.com (Copyright by Mediacollege.com) und spielt es dann ab. Dazu kommen ein paar einfache Steuerbuttons und einige Textfelder mit Informationen über das FLV-File.</p>
<p>Als erstes benötigen wir ein neues Video Objekt. Dazu müsst ihr die Bibliothek öffnen [<em>Ctrl+L</em>] oder über Fenster -&gt; Bibliothek. Dann klickt ihr dort rechts in das weisse Feld und ihm Kontextmenü wählt ihr darauf &#8220;Neues Video&#8221; aus.</p>
<p>In dem Menü gebt ihr nun einen Namen ein (dieser Spielt für die spätere Benutzung keine Rolle) und achtet darauf, dass &#8220;Video von Actionscript gesteuert) angewählt ist.</p>
<p><a href="http://xdee.net/wp-content/uploads/2009/05/1.jpg" rel="lightbox"><img class="aligncenter size-medium wp-image-385" title="1" src="http://xdee.net/wp-content/uploads/2009/05/1-300x145.jpg" alt="1" width="300" height="145" /></a><br />
Nun zieht ihr das Objekt von der Biliothek auf die Bühne und gebt ihm den Instanznamen &#8220;<em>my_video</em>&#8220;. Mit dem &#8220;Frei Transformieren&#8221; Werkzeug [Q] könnt ihr zusätzlich noch die Grösse ändern.</p>
<p>Nun erstellt ihr folgende 6 Elemente auf der Bühne:</p>
<ul>
<li>dynamisches Textfeld mit der Variable &#8220;<em>loaded&#8221;</em></li>
<li>dynamisches Textfeld mit der Variable &#8220;<em>fps</em>&#8220;</li>
<li>dynamisches Textfeld mit der Variable &#8220;<em>time</em>&#8220;</li>
<li>Play Button mit dem Instanznamen &#8220;<em>play_btn</em>&#8220;</li>
<li>Pause Button mit dem Instanznamen &#8220;<em>pause_btn</em>&#8220;</li>
<li>Stop Button mit dem Instanznamen &#8220;<em>stop_btn</em>&#8220;</li>
</ul>
<p><a href="http://xdee.net/wp-content/uploads/2009/05/2.jpg" rel="lightbox"><img class="aligncenter size-medium wp-image-388" title="2" src="http://xdee.net/wp-content/uploads/2009/05/2-300x69.jpg" alt="2" width="300" height="69" /><br />
</a>Schlussendlich kommt noch der Actionscript Code:</p>
<div class="codecolorer-container actionscript " style="overflow:auto;white-space:nowrap;width:435px;height:300px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br /></div></td><td><div class="actionscript codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="kw2">var</span> connection = <span class="kw2">new</span> <span class="kw3">NetConnection</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
connection.<span class="kw3">connect</span><span class="br0">&#40;</span><span class="kw2">null</span><span class="br0">&#41;</span>;<br />
<span class="kw2">var</span> stream = <span class="kw2">new</span> <span class="kw3">NetStream</span><span class="br0">&#40;</span>connection<span class="br0">&#41;</span>;<br />
my_video.<span class="kw3">attachVideo</span><span class="br0">&#40;</span>stream<span class="br0">&#41;</span>;<br />
stream.<span class="kw3">setBufferTime</span><span class="br0">&#40;</span><span class="nu0">5</span><span class="br0">&#41;</span>;<br />
<br />
<span class="kw3">url</span> = <span class="st0">&quot;http://www.mediacollege.com/video-gallery/testclips/20051210-w50s.flv&quot;</span>;<br />
stream.<span class="kw3">play</span><span class="br0">&#40;</span><span class="kw3">url</span><span class="br0">&#41;</span>;<br />
is_paused = <span class="kw2">false</span>;<br />
<br />
<span class="kw3">_root</span>.<span class="kw3">onEnterFrame</span> = <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
kbTotal = <span class="kw3">Math</span>.<span class="kw3">round</span><span class="br0">&#40;</span>stream.<span class="kw3">bytesTotal</span> <span class="sy0">*</span> <span class="nu0">0.0009765625</span><span class="br0">&#41;</span>;<br />
kbLoaded = <span class="kw3">Math</span>.<span class="kw3">round</span><span class="br0">&#40;</span>stream.<span class="kw3">bytesLoaded</span> <span class="sy0">*</span> <span class="nu0">0.0009765625</span><span class="br0">&#41;</span>;<br />
<span class="kw3">loaded</span> = kbLoaded + <span class="st0">&quot; KB of &quot;</span> + kbTotal + <span class="st0">&quot; KB&quot;</span>;<br />
<span class="kw3">fps</span> = <span class="kw3">Math</span>.<span class="kw3">round</span><span class="br0">&#40;</span>stream.<span class="kw3">currentFps</span><span class="br0">&#41;</span> + <span class="st0">&quot; FPS&quot;</span>;<br />
<span class="kw3">time</span> = <span class="kw3">Math</span>.<span class="kw3">round</span><span class="br0">&#40;</span>stream.<span class="kw3">time</span><span class="br0">&#41;</span> + <span class="st0">&quot; sec&quot;</span>;<br />
<span class="br0">&#125;</span><br />
<span class="kw3">_root</span>.<span class="me1">play_btn</span>.<span class="kw3">onRelease</span> = <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="kw1">if</span><span class="br0">&#40;</span>is_paused<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
stream.<span class="kw3">pause</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
is_paused = <span class="kw2">false</span>;<br />
<span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span><br />
stream.<span class="kw3">play</span><span class="br0">&#40;</span><span class="kw3">url</span><span class="br0">&#41;</span>;<br />
<span class="br0">&#125;</span><br />
<span class="br0">&#125;</span><br />
<span class="kw3">_root</span>.<span class="me1">pause_btn</span>.<span class="kw3">onRelease</span> = <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="kw1">if</span><span class="br0">&#40;</span><span class="sy0">!</span>is_paused<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
stream.<span class="kw3">pause</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
is_paused = <span class="kw2">true</span>;<br />
<span class="br0">&#125;</span><br />
<span class="br0">&#125;</span><br />
<span class="kw3">_root</span>.<span class="me1">stop_btn</span>.<span class="kw3">onRelease</span> = <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
stream.<span class="kw3">close</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
<span class="br0">&#125;</span></div></td></tr></tbody></table></div>
<p>Nun die Erklärung dazu Schritt für Schritt:</p>
<p>Mit &#8220;<em>var connection = new NetConnection()&#8221;</em> erstellen wir eine neues NetConnection Objekt. Dieses soll dann erst einmal eine Verbindung aufbauen mit &#8220;<em>connection.connect(null)&#8221;. </em> Danach erstellen wir ein Stream Objekt dazu: &#8220;<em>var stream = new NetStream(connection)</em>&#8220;. Nun weisen wir unserem Video Objekt auf der Bühne den Stream zu : &#8220;<em>my_video.attachVideo(stream)&#8221;</em>. Schlussendlich bestimmen wir noch vieviel in den Zwischenspeicher geladen werden soll, in diesem Fall sind das 5 Sekunden, das heisst erst wenn 5 Sekunden des Videos geladen sind, fängt Flash an das Video abzuspielen. Bei grossen Videos empfiehlt es sich, hier einen grösseren Wert zu nehmen.</p>
<p>Nun bestimmen wir mit &#8220;<em>url = &#8220;http://www.mediacollege.com/video-gallery/testclips/20051210-w50s.flv&#8221;</em>&#8221; von wo das FLV File geladen werden soll. Jetzt können wir es mit &#8220;<em>stream.play(url)&#8221;</em> abspielen lassen.</p>
<p>Für die Play/Pause Buttons brauchen wir später noch die Variable &#8220;<em>is_paused&#8221;</em> die wir jetzt erst einmal auf &#8220;<em>false&#8221; </em>setzen: &#8221; is_paused = false&#8221;.</p>
<p>Den wichtigen Teil haben wir jetzt, das Video wird geladen und abgespielt. Der Benutzer sollte jedoch auch noch einige Informationen über das Video erhalten und es pausieren können.</p>
<p>Die Informationen müssen wir während des Abspielens auslesen darum rufen wir sie auch in einer &#8220;<em>onEnterFrame</em>&#8221; Prozedur ab.</p>
<p><em>&#8220;kbTotal = Math.round(stream.bytesTotal * 0.0009765625)&#8221;</em> liest aus wieviele Bytes das Video total umfasst. Wir multiplizieren es mit 0.0009765625 damit wir aus den Bytes, Kilobytes erhalten. Schlussendlich runden wir es mit &#8220;<em>Math.round()&#8221;</em> noch auf eine Ganzzahl.</p>
<p>Genau gleich gehen wir mit  &#8221;<em>kbLoaded = Math.round(stream.bytesLoaded * 0.0009765625)</em>&#8221; vor, nur dass wir hier die Anzahl der geladenen Kilobytes bestimmen.</p>
<p>Jetzt weisen wir der Variable &#8220;<em>loaded</em>&#8221; die vorher ausgelesenen Werte zu: &#8220;<em>loaded = kbLoaded + &#8221; KB of &#8221; + kbTotal + &#8221; KB&#8221;</em>&#8220;.<br />
Zur Erinnerung: Die Variable <em>&#8220;loaded&#8221;</em> wir in einem Textfeld ausgegeben!</p>
<p>Nun lesen wir mit  &#8221;<em>fps = Math.round(stream.currentFps) + &#8221; FPS&#8221;"</em> die Anzahl der Frames pro Sekunde aus. Wieder wird der Wert auf eine Ganzzahl gerundet. Auch die Variable &#8220;<em>fps&#8221;</em> wir in einem unserer Textfelder ausgegeben.</p>
<p>Schlussendlich wollen wir noch wissen, wieviele Sekunden schon abgespielt wurden, dazu lesen wir mit folgendem Code die Zeit aus und weisen sie der Variable &#8220;<em>time&#8221; </em>zu: &#8220;<em>time = Math.round(stream.time) + &#8221; sec&#8221;</em>&#8220;.</p>
<p>Nun kommen noch die Buttons. Wichtig dabei sind eigentlich nur folgende drei Befehle:</p>
<ul>
<li><em>stream.play(url)</em> &#8211; lädt das Video nochmal und spielt es von vorne ab.</li>
<li><em>stream.pause() </em> &#8211; pausiert das Video b.z.w spielt es wieder ab.</li>
<li><em>stream.close() -</em> schliesst den Stream, sodass das Video anschliessen wieder neu geladen werden muss.</li>
</ul>
<p>Wichtig ist auch noch, dass beim Play Button, je nachdem welchen Wert die Variable &#8220;<em>is_paused&#8221; </em>hat, entweder das Video neu lädt oder wieder abspielt.</p>
<p>Nun sind wir auch schon fertig mit unserem simplen FLV Player. Experimentiert ein bisschen damit herum, wie wäre es zum Beispiel wenn der User selbst eine URL eingeben könnte und dann würde der FLV Player das Video laden?</p>
<p>Fragen und Kritik einfach in die Comments.<br />
MFG</p>
<p>Michael</p>

]]></content:encoded>
			<wfw:commentRss>http://xdee.net/2009/05/17/flash-flv-stream-player-flash-tutorial/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Tooltips in Javascript &#8211; Tutorial</title>
		<link>http://xdee.net/2009/05/11/tooltips-in-javascript-tutorial/</link>
		<comments>http://xdee.net/2009/05/11/tooltips-in-javascript-tutorial/#comments</comments>
		<pubDate>Mon, 11 May 2009 14:15:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CSS/HTML Tutorials]]></category>
		<category><![CDATA[Browserweiche]]></category>
		<category><![CDATA[div container]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Mouse Position]]></category>
		<category><![CDATA[Tooltip]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://xdee.net/?p=377</guid>
		<description><![CDATA[Wie man merkt, finde ich immer mehr Gefallen an Javascript. Darum hier auch ein Tutorial zum Thema &#8220;Tooltips in Javascript&#8221;. Tooltips sind kleine Boxen die erscheinen wenn der User mit der Maus über ein Objekt fährt. In ihnen kann man zum Beispiel den Linkzielort oder sonstige Infos angeben.
Voraussetzungen:

Basis HTML &#38; CSS Kenntnisse
Basis  Javascript Kenntnisse

Lernziele:

Browserweiche
Mausposition abfragen
Div-Container [...]]]></description>
			<content:encoded><![CDATA[<p>Wie man merkt, finde ich immer mehr Gefallen an Javascript. Darum hier auch ein Tutorial zum Thema &#8220;Tooltips in Javascript&#8221;. Tooltips sind kleine Boxen die erscheinen wenn der User mit der Maus über ein Objekt fährt. In ihnen kann man zum Beispiel den Linkzielort oder sonstige Infos angeben.</p>
<p><strong>Voraussetzungen:</strong></p>
<ul>
<li>Basis HTML &amp; CSS Kenntnisse</li>
<li>Basis  Javascript Kenntnisse</li>
</ul>
<p><strong>Lernziele:</strong></p>
<ul>
<li>Browserweiche</li>
<li>Mausposition abfragen</li>
<li>Div-Container dynamisch mit Text füllen</li>
</ul>
<p><a href="http://xdee.net/wp-content/uploads/2009/05/tagtip1.html">Vorschau</a></p>
<p><span id="more-377"></span></p>
<p>In Grundaufbau funktioniert das Script folgendermassen:</p>
<p>Wenn der Benutzer über einen Link oder ein Bild fährt wird ein Javascript aufgerufen, welches den Div Container an die richtige Position setzt und mit Text füllt.</p>
<p>Zuerst brauchen wir etwas CSS:</p>
<div class="codecolorer-container css " style="overflow:auto;white-space:nowrap;width:435px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br /></div></td><td><div class="css codecolorer" style="font-family:Monaco,Lucida Console,monospace">&lt;!-- body <span class="br0">&#123;</span> <span class="kw1">font-family</span><span class="sy0">:</span> <span class="st0">&quot;Century Gothic&quot;</span><span class="sy0">;</span> <span class="kw1">background-color</span><span class="sy0">:</span> <span class="re0">#6A6A6A</span><span class="sy0">;</span> <span class="br0">&#125;</span> <span class="re0">#block</span> <span class="br0">&#123;</span> <span class="kw1">background-color</span><span class="sy0">:</span> <span class="re0">#99CC33</span><span class="sy0">;</span> <span class="kw1">width</span><span class="sy0">:</span> <span class="kw2">auto</span><span class="sy0">;</span> <span class="kw1">height</span><span class="sy0">:</span> <span class="kw2">auto</span><span class="sy0">;</span> <span class="kw1">border</span><span class="sy0">:</span> <span class="re3">1px</span> <span class="kw2">solid</span> <span class="re0">#009933</span><span class="sy0">;</span> <span class="kw1">color</span><span class="sy0">:</span> <span class="re0">#006633</span><span class="sy0">;</span> <span class="kw1">top</span><span class="sy0">:</span> <span class="re3">220px</span><span class="sy0">;</span> <span class="kw1">left</span><span class="sy0">:</span> <span class="re3">220px</span><span class="sy0">;</span> <span class="kw1">position</span><span class="sy0">:</span> <span class="kw2">absolute</span><span class="sy0">;</span> <span class="kw1">z-index</span><span class="sy0">:</span> <span class="nu0">1</span><span class="sy0">;</span> <span class="kw1">display</span><span class="sy0">:</span> <span class="kw2">none</span><span class="sy0">;</span> <span class="br0">&#125;</span> --<span class="sy0">&gt;</span></div></td></tr></tbody></table></div>
<p>Wichtig sind dabei die Angaben <strong>position: absolute</strong> und <strong>z-index: 1</strong> mit ihnen geben wir einerseits an, dass sich die Position nicht relativ zu den anderen Objekten verhalten soll und dass sich das Ganze über dem sonstigen Inhalt platzieren soll.</p>
<p>Nun kommt unser Javascript:</p>
<div class="codecolorer-container javascript " style="overflow:auto;white-space:nowrap;width:435px;height:300px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br /></div></td><td><div class="javascript codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="sy0">&lt;</span>script type<span class="sy0">=</span><span class="st0">&quot;text/javascript&quot;</span><span class="sy0">&gt;&lt;!--</span><br />
<span class="kw2">function</span> showit<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="kw1">if</span><span class="br0">&#40;</span>drag<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">'block'</span><span class="br0">&#41;</span>.<span class="me1">style</span>.<span class="me1">left</span> <span class="sy0">=</span> event.<span class="me1">x</span> <span class="sy0">+</span> <span class="nu0">5</span> <span class="sy0">+</span> <span class="st0">&quot;px&quot;</span><span class="sy0">;</span><br />
&nbsp; document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">'block'</span><span class="br0">&#41;</span>.<span class="me1">style</span>.<span class="me1">top</span> <span class="sy0">=</span> event.<span class="me1">y</span> <span class="sy0">+</span> <span class="nu0">5</span> <span class="sy0">+</span> <span class="st0">&quot;px&quot;</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<span class="br0">&#125;</span><br />
<br />
<span class="kw2">function</span> showitMOZ<span class="br0">&#40;</span>e<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="kw1">if</span><span class="br0">&#40;</span>drag<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">'block'</span><span class="br0">&#41;</span>.<span class="me1">style</span>.<span class="me1">left</span> <span class="sy0">=</span> e.<span class="me1">pageX</span> <span class="sy0">+</span> <span class="nu0">5</span> <span class="sy0">+</span> <span class="st0">&quot;px&quot;</span><span class="sy0">;</span><br />
&nbsp; document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">'block'</span><span class="br0">&#41;</span>.<span class="me1">style</span>.<span class="me1">top</span> <span class="sy0">=</span> e.<span class="me1">pageY</span> &nbsp;<span class="sy0">+</span> <span class="nu0">5</span> <span class="sy0">+</span> <span class="st0">&quot;px&quot;</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<span class="br0">&#125;</span><br />
<br />
<span class="kw2">function</span> tagTip<span class="br0">&#40;</span>text<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">'block'</span><span class="br0">&#41;</span>.<span class="me1">style</span>.<span class="me1">display</span><span class="sy0">=</span><span class="st0">'block'</span><span class="sy0">;</span><br />
document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">'block'</span><span class="br0">&#41;</span>.<span class="me1">innerHTML</span> <span class="sy0">=</span> text<span class="sy0">;</span><br />
drag <span class="sy0">=</span> <span class="kw2">true</span><span class="sy0">;</span><br />
<span class="kw1">if</span> <span class="br0">&#40;</span><span class="sy0">!</span>document.<span class="me1">all</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; window.<span class="me1">onmousemove</span><span class="sy0">=</span>showitMOZ<span class="sy0">;</span><br />
<span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span><br />
&nbsp; document.<span class="me1">onmousemove</span><span class="sy0">=</span>showit<span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<span class="br0">&#125;</span><br />
<span class="kw2">function</span> unTip<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">'block'</span><span class="br0">&#41;</span>.<span class="me1">style</span>.<span class="me1">display</span><span class="sy0">=</span><span class="st0">'none'</span><span class="sy0">;</span><br />
&nbsp; drag <span class="sy0">=</span> <span class="kw2">false</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<br />
<span class="co1">// --&gt;&lt;/script&gt;</span></div></td></tr></tbody></table></div>
<p>Wir haben vier Funktionen. Nun aber jede Funktion für sich erklärt:</p>
<p><em><strong>function tagTip(text)</strong></em>:<br />
Mit dieser Funktion rufen wir unser Tooltip Script auf. Nun greifen wir mit<em> <em>document.getElementById(&#8216;block&#8217;)</em> <span style="font-style: normal;">auf unseren Div-Container zu und ändern die CSS Eigenschaft &#8220;display&#8221; zu &#8220;block&#8221;</span></em><em>. </em><em><span style="font-style: normal;">Das heisst der Div-Container wird nun angezeigt. Mit </span><em>innerHTML</em> <span style="font-style: normal;">können wir Text in den Container schreiben. Dazu brauchen wir unsere Variable </span></em><em>text </em><em><span style="font-style: normal;">die als Parameter übergeben wird.</span>. </em>Zusätzlich setzen wir die Variable &#8220;<em>drag&#8221;</em> auf <em>true. </em>Diese Variable brauchen wir später um zu bestimmen ob sich der Div Container zur Mausposition bewegen soll oder nicht. Nun kommt die Browserweiche. Da der Internet Explorer sich wieder einmal nicht an die Regeln hält müssen wir zuerst feststellen, ob es sich um den Internetexplorer handelt oder nicht. Mit <em>if (!document.all) </em>erreichen wir das, denn wenn das Script im Internet Explorer ausgeführt wird, liefert diese Anweisung <em>true</em> zurück, wenn nicht <em>false</em>. Das Ausrufezeichen sagt, dass das Script in der If-Anweisung nur ausgeführt wird wenn der Wert = <em>false ist</em> also das Script nicht im Internet Explorer ausgeführt wird.</p>
<p>Mit <em>window.onmousemove=showitMOZ</em> bewirken wir, dass immer wenn der <em>onmousemove-Event</em> eintrifft unsere Funktion showitMOZ<em> </em>ausgeführt wird. Schlussendlich das Ganze noch für den IE: <em>document.onmousmove=showit</em> nur das eben da die andere Funktion aufgerufen wird.</p>
<p><em><strong>function showit():</strong></em><br />
Zuerst prüfen wir ob die Variable <em>drag</em> gleich <em>true</em> ist. Diese Abfrage brauchen wir, damit der Tooltip nicht immer angezeigt wird. Dann wird über die <em>Style</em> Eigenschaft und <em>event.x </em>bzw.<em> </em><em>event.x </em>die x- und y-Position gesetzt. Hier addieren wir noch zusätzlich 5 Pixel hinzu für eine schönere Anzeige des Toolips. Diese Funktion wird über unsere Browserweiche nur im Internet Explorer ausgeführt!</p>
<p><em><strong>function showitMOZ(e)</strong>:<br />
</em>Nun kommt noch unsere Funktion für alle anderen Browser. Hierbei wird noch der Parameter &#8220;<em>e&#8221;</em> übermittelt. Ihn ihm wird der Event gespeichert, den brauchen wir um die x- und y-Position zu ermitteln. Dies machen wir dann auch mit &#8220;<em>e.pageX&#8221; </em>und &#8220;<em>e.pageY</em>&#8220;. Zusätzlich fügen wir für eine schönere Darstellung noch 5 Pixel hinzu (sonst flackert der Tooltip) da wir dies ja dann über CSS zuweisen brauchen wir noch das <em> &#8220;px&#8221;</em> damit das auch CSS konform wird. Dies fügen wir einfach mit einem Additionszeichen hinzu.</p>
<p><em><strong>function unTip():</strong><br />
</em>Schliesslich noch eine Funktion, die die Variable <em>drag</em> auf <em>false</em> setzt und so verhindert, dass der Tooltip weiter angezeigt wird.</p>
<p>Das wärs auch schon! Nun müssen wir nur noch in HTML einen Link, ein Bild oder sonst ein HTML Element erstellen und dort folgendes kleine Stück Code hinzufügen: <em><strong>onmouseover=&#8221;tagTip(&#8216;Hier kommt der Tooltip Text&#8217;)&#8221; onmouseout=&#8221;unTip()&#8221;</strong></em></p>
<p>Damit bewirken wir, dass wenn der Benutzer mit der Maus darüber fährt, der Tooltip aufgerufen wird und beim Verlassen wieder verschwindet.</p>
<p>Nun muss nur noch der Div-Container irgendwo im Code verankert werden.</p>
<div class="codecolorer-container html4strict " style="overflow:auto;white-space:nowrap;width:435px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br /></div></td><td><div class="html4strict codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="sc2">&lt;<a href="http://december.com/html/4/element/div.html"><span class="kw2">div</span></a> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">&quot;block&quot;</span>&gt;&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/div.html"><span class="kw2">div</span></a>&gt;</span></div></td></tr></tbody></table></div>
<p>Hier noch einige Anwendungsbeispiele:</p>
<div class="codecolorer-container html4strict " style="overflow:auto;white-space:nowrap;width:435px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br /></div></td><td><div class="html4strict codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="sc2">&lt;<a href="http://december.com/html/4/element/a.html"><span class="kw2">a</span></a> <span class="kw3">onmouseover</span><span class="sy0">=</span><span class="st0">&quot;tagTip('Write something in here...')&quot;</span> <span class="kw3">onmouseout</span><span class="sy0">=</span><span class="st0">&quot;unTip()&quot;</span> <span class="kw3">href</span><span class="sy0">=</span><span class="st0">&quot;#&quot;</span>&gt;</span>TagTip Here<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/a.html"><span class="kw2">a</span></a>&gt;</span><br />
<span class="sc2">&lt;<a href="http://december.com/html/4/element/img.html"><span class="kw2">img</span></a> <span class="kw3">onmouseover</span><span class="sy0">=</span><span class="st0">&quot;tagTip('Es funktioniert auch bei Bildern...')&quot;</span> <span class="kw3">onmouseout</span><span class="sy0">=</span><span class="st0">&quot;unTip()&quot;</span> <span class="kw3">src</span><span class="sy0">=</span><span class="st0">&quot;sample.jpg&quot;</span> <span class="kw3">alt</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span> <span class="sy0">/</span>&gt;</span><br />
<span class="sc2">&lt;<a href="http://december.com/html/4/element/a.html"><span class="kw2">a</span></a> <span class="kw3">onmouseover</span><span class="sy0">=</span><span class="st0">&quot;tagTip('&amp;lt;img src=&quot;</span>&gt;&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/a.html"><span class="kw2">a</span></a>&gt;</span>')&quot; onmouseout=&quot;unTip()&quot; href=&quot;#&quot;<span class="sc1">&amp;gt;</span>TagTip Here</div></td></tr></tbody></table></div>
<p>Experimentiert ein bisschen damit rum, es ist zum Beispiel auch möglich mit diesem Prinzip auch ganze Bilder als Tooltip anzuzeigen. Dabei einfach den &lt;img&gt; Tag in den Tooltip Funktionsaufruf schreiben.</p>
<h2>Zusatz:</h2>
<p>Fügen wir dem CSS Code des Tooltips noch folgende Zeilen hinzu, können wir den Tooltip sogar transparent anzeigen:</p>
<div class="codecolorer-container css " style="overflow:auto;white-space:nowrap;width:435px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br /></div></td><td><div class="css codecolorer" style="font-family:Monaco,Lucida Console,monospace">filter<span class="sy0">:</span>alpha<span class="br0">&#40;</span>opacity<span class="sy0">=</span><span class="nu0">50</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="coMULTI">/* IE */</span><br />
-moz-opacity<span class="sy0">:</span> <span class="nu0">0.50</span><span class="sy0">;</span> <span class="coMULTI">/* Gecko */</span><br />
opacity<span class="sy0">:</span> <span class="nu0">0.50</span><span class="sy0">;</span> <span class="coMULTI">/* Opera */</span></div></td></tr></tbody></table></div>
<p>Vielen Dank fürs Lesen und Fragen, Kritk und Wünsche bitte in die Comments</p>
<p>MFG<br />
Michael</p>

]]></content:encoded>
			<wfw:commentRss>http://xdee.net/2009/05/11/tooltips-in-javascript-tutorial/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Browser/Client Informationen abfragen &#8211; Javascript Tutorial</title>
		<link>http://xdee.net/2009/04/21/browserclient-informationen-abfragen-javascript-tutorial/</link>
		<comments>http://xdee.net/2009/04/21/browserclient-informationen-abfragen-javascript-tutorial/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 22:00:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CSS/HTML Tutorials]]></category>
		<category><![CDATA[Browser Informationen]]></category>
		<category><![CDATA[browserLanguage]]></category>
		<category><![CDATA[Client]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Javascript Tutorial]]></category>
		<category><![CDATA[navigator]]></category>
		<category><![CDATA[Zeit]]></category>

		<guid isPermaLink="false">http://xdee.net/?p=368</guid>
		<description><![CDATA[Habt ihr euch auch schon einmal gefragt, warum Google immer in der richtigen Sprache erscheint? Oder wieso bestimmte Seiten euer Betriebssystem &#8220;erraten&#8221;? All das ist ganz einfach per Javascript abfragbar.
In diesem Tutorial will ich euch zeigen, wie ihr mit Javascript verschiedene Informationen über den Benutzer abfragen könnt.
Vorraussetzungen:

Basis HTML Kenntnisse

Lernziele:

Arbeiten mit Variablen in Javascript
Ausgeben von Werten [...]]]></description>
			<content:encoded><![CDATA[<p>Habt ihr euch auch schon einmal gefragt, warum Google immer in der richtigen Sprache erscheint? Oder wieso bestimmte Seiten euer Betriebssystem &#8220;erraten&#8221;? All das ist ganz einfach per Javascript abfragbar.</p>
<p>In diesem Tutorial will ich euch zeigen, wie ihr mit Javascript verschiedene Informationen über den Benutzer abfragen könnt.</p>
<p><strong>Vorraussetzungen:</strong></p>
<ul>
<li>Basis HTML Kenntnisse</li>
</ul>
<p><strong>Lernziele:</strong></p>
<ul>
<li>Arbeiten mit Variablen in Javascript</li>
<li>Ausgeben von Werten mit Javascript</li>
</ul>
<p><a href="http://xdee.net/wp-content/uploads/2009/04/sysinfo.html">Hier</a> könnt ihr euch ein Beispiel anschauen, von dem was wir erstellen werden.</p>
<p><span id="more-368"></span></p>
<p>Über vordefinierte Werte können wir per Javascript ganz einfach Informationen wie Bildschirmauflösung, Sprache, Betriebssystem etc. auslesen. So könnte man zum Beispiel die Seite automatisch in die richtige Sprache umwandeln lassen oder je nach Auflösung die Seite anders darstellen lassen.</p>
<p>In unserem Beispiel wollen wir die Werte aber einfach nur auslesen und ausgeben. Ausgeben tun wir sie indem wir vorher ein Textfeld erstellen und darein dann die Werte schreiben.</p>
<p>Das Auslesen der Werte habe ich in eine Funktion mit dem Namen &#8220;getInfo&#8221; geschrieben, die ich dann beim Laden des Dokuments aufrufe.</p>
<p>Hier der Code dazu:</p>
<div class="codecolorer-container javascript " style="overflow:auto;white-space:nowrap;width:435px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br /></div></td><td><div class="javascript codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="sy0">&lt;</span>script type<span class="sy0">=</span><span class="st0">&quot;text/javascript&quot;</span><span class="sy0">&gt;&lt;!--</span><br />
<span class="kw2">function</span> getInfo<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<br />
&nbsp; <span class="kw2">var</span> res <span class="sy0">=</span> screen.<span class="me1">width</span> <span class="sy0">+</span> <span class="st0">&quot;x&quot;</span> <span class="sy0">+</span> screen.<span class="me1">height</span><span class="sy0">;</span><br />
&nbsp; <span class="kw2">var</span> jetzt <span class="sy0">=</span> <span class="kw2">new</span> Date<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="kw2">var</span> zeit <span class="sy0">=</span> jetzt.<span class="me1">getHours</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">+</span><span class="st0">&quot;:&quot;</span><span class="sy0">+</span>jetzt.<span class="me1">getMinutes</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">+</span><span class="st0">&quot;:&quot;</span><span class="sy0">+</span>jetzt.<span class="me1">getSeconds</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="kw2">var</span> browser <span class="sy0">=</span> navigator.<span class="me1">appName</span> <span class="sy0">+</span> <span class="st0">&quot; &quot;</span> <span class="sy0">+</span> navigator.<span class="me1">appVersion</span>.<span class="me1">substring</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="sy0">,</span> <span class="nu0">4</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="kw2">var</span> sprache <span class="sy0">=</span> navigator.<span class="me1">browserLanguage</span><span class="sy0">;</span><br />
&nbsp; <span class="kw2">var</span> sprache <span class="sy0">=</span> navigator.<span class="me1">language</span><span class="sy0">;</span><br />
&nbsp; <span class="kw2">var</span> platform <span class="sy0">=</span> navigator.<span class="me1">platform</span><span class="sy0">;</span><br />
&nbsp; document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">'resolution'</span><span class="br0">&#41;</span>.<span class="me1">value</span> <span class="sy0">=</span> res<span class="sy0">;</span><br />
&nbsp; document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">'time'</span><span class="br0">&#41;</span>.<span class="me1">value</span> <span class="sy0">=</span> zeit<span class="sy0">;</span><br />
&nbsp; document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">'browser'</span><span class="br0">&#41;</span>.<span class="me1">value</span> <span class="sy0">=</span> browser<span class="sy0">;</span><br />
&nbsp; document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">'sprache'</span><span class="br0">&#41;</span>.<span class="me1">value</span> <span class="sy0">=</span> sprache<span class="sy0">;</span><br />
&nbsp; document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">'platform'</span><span class="br0">&#41;</span>.<span class="me1">value</span> <span class="sy0">=</span> platform<span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<span class="co1">// --&gt;&lt;/script&gt;</span></div></td></tr></tbody></table></div>
<p>So nun aber in aller Ruhe die Erkärung dazu:</p>
<p><em>var res = screen.width + &#8220;x&#8221; + screen.height </em>Damit lesen wir die Bildschirmauflösung aus und speichern sie in der Variable &#8220;res&#8221;.</p>
<p><em> var jetzt = new Date();var zeit = jetzt.getHours() +&#8221;:&#8221;+jetzt.getMinutes()+&#8221;:&#8221;+jetzt.getSeconds();</p>
<p></em></p>
<p>Für die Zeit braucht es, wie ihr seht, etwas mehr Code. Zuerst erstellen wir quasi ein neues Datum mit &#8220;new Date()&#8221;. Danach lesen wir mit den Funktionen &#8220;getHours()&#8221;, &#8220;getMinutes()&#8221; und &#8220;getSeconds()&#8221; die Zeit aus. Das ganze speichern wir zusammen mit den Doppelpunkten in einer Variable.</p>
<p>Der Rest verläuft ähnlich:</p>
<ul>
<li><em>navigator.appName</em> steht für den Namen des Browsers.</li>
<li><em>navigator.appVersion</em> steht für die Version des Browsers. Wobei wir diese mit <em>substring(0, 4)</em> auf 4 Zeichen beschränken.</li>
<li><em>navigator.language</em> steht für die Sprache die der Benutzer im Browser benutzt.</li>
<li><em>navigator.browserLanguage</em> steht im <strong>Internet Explorer</strong> für die Sprache die der Benutzer verwendet.</li>
<li><em>navigator.platform</em> steht für das Betriebssystem auf dem der Browser ausgeführt wird.</li>
</ul>
<p>In unserem HTML Code werden wir später für jeden Wert ein Textfeld erstellen. In Javascript füllen wir diese dann mit:</p>
<p><em>document.getElementById(&#8216;resolution&#8217;).value = res </em></p>
<p>Mit &#8220;<em>.value</em>&#8221; können wir den Inhalt des Textfeldes bestimmen.<em> </em>So verfahren wir dann auch mit den anderen Textfeldern. Mit &#8220;<em>document.getElementById(&#8216;ID DES ELEMENTS&#8217;)&#8221; </em>greifen wir auf unsere Textfelder zu, die natürlich die richtige ID haben müssen!</p>
<p>Hier nun unser HTML Code:</p>
<div class="codecolorer-container html4strict " style="overflow:auto;white-space:nowrap;width:435px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br /></div></td><td><div class="html4strict codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="sc2">&lt;<a href="http://december.com/html/4/element/form.html"><span class="kw2">form</span></a>&gt;</span> Aufloesung:<br />
<br />
<span class="sc2">&lt;<a href="http://december.com/html/4/element/input.html"><span class="kw2">input</span></a> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">&quot;resolution&quot;</span> <span class="kw3">size</span><span class="sy0">=</span><span class="st0">&quot;10&quot;</span> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">&quot;text&quot;</span> <span class="sy0">/</span>&gt;</span>Zeit: <span class="sc2">&lt;<a href="http://december.com/html/4/element/input.html"><span class="kw2">input</span></a> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">&quot;time&quot;</span> <span class="kw3">size</span><span class="sy0">=</span><span class="st0">&quot;10&quot;</span> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">&quot;text&quot;</span> <span class="sy0">/</span>&gt;</span>Browser:<br />
<br />
<span class="sc2">&lt;<a href="http://december.com/html/4/element/input.html"><span class="kw2">input</span></a> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">&quot;browser&quot;</span> <span class="kw3">size</span><span class="sy0">=</span><span class="st0">&quot;10&quot;</span> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">&quot;text&quot;</span> <span class="sy0">/</span>&gt;</span>Sprache:<br />
<br />
<span class="sc2">&lt;<a href="http://december.com/html/4/element/input.html"><span class="kw2">input</span></a> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">&quot;sprache&quot;</span> <span class="kw3">size</span><span class="sy0">=</span><span class="st0">&quot;10&quot;</span> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">&quot;text&quot;</span> <span class="sy0">/</span>&gt;</span>Betriebssystem:<br />
<br />
<span class="sc2">&lt;<a href="http://december.com/html/4/element/input.html"><span class="kw2">input</span></a> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">&quot;platform&quot;</span> <span class="kw3">size</span><span class="sy0">=</span><span class="st0">&quot;10&quot;</span> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">&quot;text&quot;</span> <span class="sy0">/</span>&gt;</span> <span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/form.html"><span class="kw2">form</span></a>&gt;</span></div></td></tr></tbody></table></div>
<p>Der Code sollte eigentlich klar sein. Es werden verschiedene Textfelder erstellt mit den jeweiligen IDs. Interessant ist das &#8220;<em>readonly&#8221; </em>welches wir zusätzlich hinzuschreiben. Damit bewirken wir, dass der User nicht in die Textfelder schreiben kann.</p>
<p>Experimentiert ein bisschen mit dem Code rum, wie wär&#8217;s zum Beispiel mit einer Zeit Anzeige auf der Website oder einer kleinen Box die den User in seiner Sprache begrüsst?<br />
Fragen und Kommentare einfach in die Comments</p>
<p>MFG<br />
Michael Ziörjen</p>

]]></content:encoded>
			<wfw:commentRss>http://xdee.net/2009/04/21/browserclient-informationen-abfragen-javascript-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Div Container bewegen &#8211; Javascript Tutorial</title>
		<link>http://xdee.net/2009/03/31/div-container-bewegen-javascript-tutorial/</link>
		<comments>http://xdee.net/2009/03/31/div-container-bewegen-javascript-tutorial/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 15:25:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CSS/HTML Tutorials]]></category>
		<category><![CDATA[Bewegen]]></category>
		<category><![CDATA[Button]]></category>
		<category><![CDATA[div container]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[Javascript Tutorial]]></category>
		<category><![CDATA[setInterval]]></category>

		<guid isPermaLink="false">http://xdee.net/?p=353</guid>
		<description><![CDATA[
Einigen wird es bereits augefallen sein, ich beschäftige mich im Moment ausgiebig mit Javascript. Die Möglichkeiten sind beinahe unbegrenzt und dur Javascript lässt sich vieles auf Websites für den Benutzer einfacher gestalten.
Ein vielleicht weinger nützliches aber trotzdem interessantes Beipiel ist dieses hier, ein Div-Container wird auf Knopfdruck per Javascript bewegt. Und wie das geht könnt [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://xdee.net/wp-content/uploads/2009/03/div-container-bewegen.jpg" rel="lightbox"><img class="aligncenter size-full wp-image-363" title="div-container-bewegen" src="http://xdee.net/wp-content/uploads/2009/03/div-container-bewegen.jpg" alt="div-container-bewegen" width="300" height="100" /></a></p>
<p>Einigen wird es bereits augefallen sein, ich beschäftige mich im Moment ausgiebig mit Javascript. Die Möglichkeiten sind beinahe unbegrenzt und dur Javascript lässt sich vieles auf Websites für den Benutzer einfacher gestalten.</p>
<p>Ein vielleicht weinger nützliches aber trotzdem interessantes Beipiel ist dieses hier, ein Div-Container wird auf Knopfdruck per Javascript bewegt. Und wie das geht könnt ihr in diesem Tutorial lesen.</p>
<p><strong>Voraussetzungen:</strong></p>
<ul>
<li>Basis HTML Kenntnisse (Div Container, Buttons)</li>
</ul>
<p><strong>Lernziele:</strong></p>
<ul>
<li>Div Container per Javascript bewegen</li>
<li>Button Abfrage per Javascript</li>
<li>Javascript Funktionen aufrufen</li>
</ul>
<p><span id="more-353"></span></p>
<p>Und wie immer, schwer ist es eigentlich nicht, wenn man weiss wie. Wir haben einen Div-Container und zwei Buttons. Sobald auf auf den Start Button geklickt wird, bewegt sich der Div Container, haltet jedoch wieder an wenn man auf den Stop Button drückt.<br />
<a href="http://xdee.net/wp-content/uploads/2009/03/move-around.html"><br />
</a><a href="http://xdee.net/wp-content/uploads/2009/03/move-around1.html">Hier ein Beispiel des Scripts.</a></p>
<p>Erstelle ganz normal ein HTML Dokument und füge dann folgenden Code in den &lt;head&gt; Bereich ein:</p>
<div class="codecolorer-container javascript " style="overflow:auto;white-space:nowrap;width:435px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br /></div></td><td><div class="javascript codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="sy0">&lt;</span>script type<span class="sy0">=</span><span class="st0">&quot;text/javascript&quot;</span><span class="sy0">&gt;&lt;!--</span><br />
<span class="kw2">var</span> pos <span class="sy0">=</span> <span class="nu0">20</span><span class="sy0">;</span><br />
<span class="kw2">function</span> startIt<span class="br0">&#40;</span>anweisung<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>anweisung <span class="sy0">==</span> <span class="st0">&quot;start&quot;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp;move <span class="sy0">=</span> &nbsp;window.<span class="me1">setInterval</span><span class="br0">&#40;</span><span class="st0">&quot;moveIt()&quot;</span><span class="sy0">,</span> <span class="nu0">40</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="br0">&#125;</span> <span class="kw1">else</span> <span class="kw1">if</span><span class="br0">&#40;</span>anweisung <span class="sy0">==</span> <span class="st0">&quot;stop&quot;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; clearInterval<span class="br0">&#40;</span>move<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span><br />
<span class="kw2">function</span> moveIt<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; pos <span class="sy0">=</span> pos <span class="sy0">+</span> &nbsp;<span class="nu0">5</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">&quot;block&quot;</span><span class="br0">&#41;</span>.<span class="me1">style</span>.<span class="me1">left</span> &nbsp;<span class="sy0">=</span> <span class="br0">&#40;</span>pos &nbsp;<span class="sy0">+</span> <span class="st0">&quot;px&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<span class="co1">// --&gt;&lt;/script&gt;</span></div></td></tr></tbody></table></div>
<p>Zuerst definieren wir die Variable &#8220;<em>pos</em>&#8221; welche die Startposition angibt. Diese kann jeden beliebigen Wert haben.</p>
<p>Dann kommt unsere erste Funktion mit dem Namen &#8220;<em>startIt&#8221; </em>zusätzlich wird noch der Parameter &#8220;anweisung&#8221; übergeben, denn mit dieser Funktion wollen wir die Bewegung nicht nur starten sondern auch stoppen. Hierzu haben wir auch die If-Anweisung, wenn der Parameter gleich &#8220;start&#8221; ist, wird das Interval gestartet:</p>
<p>Mit &#8220;move = <em>window.setInterval(&#8220;moveIt()&#8221;, 40)</em>&#8221; bewirken wir, dass eine Funktion regelmässig alle 40 <strong>Millisekunden </strong>aufgerufen wird. Dabei wird das Interval quasi in der Variable &#8220;<em>move</em>&#8221; gespeichert, damit wir es später dann wieder beenden können.</p>
<p>Danach kommt noch die Gegenteilige Anweisung, wenn der Parameter gleich &#8220;stop&#8221; ist, wird mit &#8220;<em>clearInterval(move)</em>&#8221; das aktuelle Interval gestoppt. Darum haben wir auch die Variable &#8220;<em>move</em>&#8221; denn in ihr wird quasi die ID des Intervals gespeichert.</p>
<p>Nun kommen wir zu der zweiten Funktion die wir &#8220;<em>moveIt</em>&#8221; sie bewirkt, dass sich unser Div-Container bewegt. In der Variable &#8220;<em>pos&#8221;</em> wird ja die Startposition gespeichert alles was wir tun müssen,  ist diese schrittweise erhöhen und und dann dem Div Container sagen, dass er die Position wechseln soll.</p>
<p>Dies geht mit:  &#8221;<em>document.getElementById(&#8220;block&#8221;).style.left  = (pos  + &#8220;px&#8221;)&#8221;</em> dem Div Container &#8220;<em>block</em>&#8221; (kann übrigens auch ein Bild oder sonst ein HTML Objekt sein) wird per Javascript eine neue Position zugewiesen. Schlussendlich müssen wir noch ein &#8220;px&#8221; anhängen, da in CSS nur der reine Zahlenwert nicht reicht.</p>
<p>Das wär&#8217;s auch schon was Javascript angeht. Nun brauchen wir noch etwas CSS:</p>
<div class="codecolorer-container css " style="overflow:auto;white-space:nowrap;width:435px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br /></div></td><td><div class="css codecolorer" style="font-family:Monaco,Lucida Console,monospace">body <span class="br0">&#123;</span><br />
<span class="kw1">font-family</span><span class="sy0">:</span> <span class="st0">&quot;Century Gothic&quot;</span><span class="sy0">;</span><br />
<span class="kw1">background-color</span><span class="sy0">:</span> <span class="re0">#6A6A6A</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<span class="re0">#block</span> <span class="br0">&#123;</span><br />
<span class="kw1">background-color</span><span class="sy0">:</span> <span class="re0">#99CC33</span><span class="sy0">;</span><br />
<span class="kw1">width</span><span class="sy0">:</span> <span class="re3">43px</span><span class="sy0">;</span><br />
<span class="kw1">border</span><span class="sy0">:</span> <span class="re3">1px</span> <span class="kw2">solid</span> <span class="re0">#009933</span><span class="sy0">;</span><br />
<span class="kw1">color</span><span class="sy0">:</span> <span class="re0">#006633</span><span class="sy0">;</span><br />
<span class="kw1">top</span><span class="sy0">:</span> <span class="re3">20px</span><span class="sy0">;</span><br />
<span class="kw1">left</span><span class="sy0">:</span> <span class="re3">20px</span><span class="sy0">;</span><br />
<span class="kw1">padding</span><span class="sy0">:</span> <span class="re3">5px</span><span class="sy0">;</span><br />
<span class="kw1">position</span><span class="sy0">:</span> <span class="kw2">absolute</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span></div></td></tr></tbody></table></div>
<p>Dies braucht eigentlich keine grosse Erklärung. Wichtig ist nur das &#8220;<em>position: absolute;&#8221;</em> denn ohne das funktioniert das Script nicht oder nur eingeschränkt.</p>
<p>Nun zum Schluss noch den HTML Code:</p>
<div class="codecolorer-container html4strict " style="overflow:auto;white-space:nowrap;width:435px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br /></div></td><td><div class="html4strict codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="sc2">&lt;<a href="http://december.com/html/4/element/form.html"><span class="kw2">form</span></a>&gt;</span> <span class="sc2">&lt;<a href="http://december.com/html/4/element/input.html"><span class="kw2">input</span></a> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">&quot;start&quot;</span> <span class="kw3">onclick</span><span class="sy0">=</span><span class="st0">&quot;startIt('start')&quot;</span> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">&quot;button&quot;</span> <span class="kw3">value</span><span class="sy0">=</span><span class="st0">&quot;Start&quot;</span> <span class="sy0">/</span>&gt;</span> <span class="sc2">&lt;<a href="http://december.com/html/4/element/input.html"><span class="kw2">input</span></a> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">&quot;stop&quot;</span> <span class="kw3">onclick</span><span class="sy0">=</span><span class="st0">&quot;startIt('stop')&quot;</span> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">&quot;button&quot;</span> <span class="kw3">value</span><span class="sy0">=</span><span class="st0">&quot;Stop&quot;</span> <span class="sy0">/</span>&gt;</span> <span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/form.html"><span class="kw2">form</span></a>&gt;</span><br />
<span class="sc2">&lt;<a href="http://december.com/html/4/element/div.html"><span class="kw2">div</span></a> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">&quot;block&quot;</span>&gt;</span>Jayy!<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/div.html"><span class="kw2">div</span></a>&gt;</span></div></td></tr></tbody></table></div>
<p>Auch das ist eigentlich ganz simpel, wir haben den Div Container mit der ID &#8220;<em>block</em>&#8221; und zwei Buttons. Wichtig dabei ist, dass beim Klick die Funktion &#8220;startIt(&#8217;start&#8217;)&#8221; oder analog dazu &#8220;startIt(&#8217;stop&#8217;)&#8221; aufgerufen wird.</p>
<p>Probiert euer Script nun aus und spielt ein bisschen damit rum, zum Beispiel probiert den Div-Container von oben nach unten bewegen zu lassen oder probiert das ganze mit einem Bild aus.</p>
<p><strong>UPDATE: Vielen Dank für den Hinweis mit Firefox, ich habe das Script nun so geändert, dass es auch im FF funktioniert.</strong></p>
<p>MFG</p>
<p>Michael Ziörjen</p>

]]></content:encoded>
			<wfw:commentRss>http://xdee.net/2009/03/31/div-container-bewegen-javascript-tutorial/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

<!-- www.000webhost.com Analytics Code -->
<script type="text/javascript" src="http://analytics.hosting24.com/count.php"></script>
<noscript><a href="http://www.hosting24.com/"><img src="http://analytics.hosting24.com/count.php" alt="web hosting" /></a></noscript>
<!-- End Of Analytics Code -->
