<?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>Ajaxschmiede.de &#187; jQuery</title>
	<atom:link href="http://www.ajaxschmiede.de/category/jquery/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ajaxschmiede.de</link>
	<description>rund um das Thema Ajax und Web2.0</description>
	<lastBuildDate>Tue, 29 Jun 2010 17:15:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>LESS.js &#8211; CSS mit Variablen und Funktionen</title>
		<link>http://www.ajaxschmiede.de/jquery/less-js-css-mit-variablen-und-funktionen/</link>
		<comments>http://www.ajaxschmiede.de/jquery/less-js-css-mit-variablen-und-funktionen/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 17:15:48 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.ajaxschmiede.de/?p=498</guid>
		<description><![CDATA[LESS ist eine Erweiterung der bestehenden CSS-Definitionen und beinhaltete alle existierenden Formatierungen. Im Unterschied zu CSS beherrscht LESS jedoch den Umgang mit Variablen, erweiterten Klassen, Funktionen und eingebetteten Regeln. Und das ist echt cool. Hier gleich ein paar Anwendungsbeispiele: //Variablen @main_color: #2266bb; h1 { color: @main_color; } // erweiterte Klassen .rounded_corners (@radius: 5px) { -moz-border-radius: [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://lesscss.org/">LESS</a> ist eine Erweiterung der bestehenden CSS-Definitionen und beinhaltete alle existierenden Formatierungen. Im Unterschied zu CSS beherrscht LESS jedoch den Umgang mit Variablen, erweiterten Klassen, Funktionen und eingebetteten Regeln. Und das ist echt cool.</p>
<p>Hier gleich ein paar Anwendungsbeispiele:</p>
<pre class="brush: jscript;">
//Variablen
@main_color: #2266bb;

h1 {
 color: @main_color;
}

// erweiterte Klassen
.rounded_corners (@radius: 5px) {
 -moz-border-radius: @radius;
 -webkit-border-radius: @radius;
 border-radius: @radius;
}

#header {
 .rounded_corners;
}

.main_table {
 .rounded_corners(10px);
}

// eingebettete Regeln
#header {
 color: red;
 a {
 font-weight: bold;
 text-decoration: none;
 }
}

// Funktionen
@border-width: 1px;
@base-color: #333333;

#header {
 color: @base-color * 3;
 border-left: @border-width;
 border-right: @border-width * 2;
}

.main_table {
 color: (@base-color + #111) * 1.5;
}
</pre>
<p>Um LESS zu nutzen bedarf es einer Anwendung, die den LESS-Code in normales CSS umwandelt. Dies kann man beispielsweise über die PHP-Klasse <a href="http://leafo.net/lessphp/">lessphp</a> tun, die ich persönlich auch einsetze. Dies sieht dann in etwa so aus:</p>
<pre class="brush: php;">
require 'lessc.inc.php';

try {
lessc::ccompile('input.less', 'out.css');
} catch (exception $ex) {
exit('lessc fatal error:&lt;br /&gt;'.$ex-&gt;getMessage());
}
</pre>
<p>Doch <a href="http://cloudhead.io/">Alexis</a>, der Entwickler von LESS, hat noch etwas viel genialeres vor. Derzeit arbeitet er an einer Javascript-Implementierung von LESS, die LESS-Code zur Laufzeit im Browser im normales CSS konvertiert &#8211; und dies in beeindruckender Geschwindigkeit. Damit entfällt das vorherige Parsen weg. Der Browser generiert selbst den CSS-Code. Dabei nutzt Alexis alle Möglichkeiten moderner Browser wie HTML5 und Local Storage voll aus.</p>
<p>Noch befindet sich LESS.js in Arbeit und wurde noch nicht freigegeben. Einen Eindruck der Arbeit kann man sich aber bereits jetzt beim Testen der <a href="http://github.com/cloudhead/less.js">Entwicklerversion</a> holen.</p>
<p>Zum Einbinden von LESS.js ist folgender HTML-Code nötig (main.less stellt die LESS-Datei da):</p>
<pre class="brush: xml;">
&lt;link rel=&quot;stylesheet/less&quot; href=&quot;/stylesheets/main.less&quot; type=&quot;text/css&quot; /&gt;
&lt;script src=&quot;http://lesscss.googlecode.com/files/less-1.0.21.min.js&quot;&gt;&lt;/script&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxschmiede.de/jquery/less-js-css-mit-variablen-und-funktionen/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>jQuery UI 1.7 zieht nach &#8211; Mehr als nur ein Update</title>
		<link>http://www.ajaxschmiede.de/jquery/jquery-17-zieht-nach-mehr-als-nur-ein-update/</link>
		<comments>http://www.ajaxschmiede.de/jquery/jquery-17-zieht-nach-mehr-als-nur-ein-update/#comments</comments>
		<pubDate>Mon, 09 Mar 2009 13:50:50 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.ajaxschmiede.de/?p=371</guid>
		<description><![CDATA[Zwei Wochen nach der Veröffentlichung von der Javascript-Bibliothek jQuery in Version 1.3.2 erschien vor wenigen Tagen nach etlichen Beta-Versionen das 1.7er-Release der Benutzerinteraktions-Erweiterung jQuery UI. Etliche der Neuerungen im Überblick: jQuery UI 1.7 ist die erste Version der Schnittstelle, die auf jQuery 1.3 als Untersatz baut. Dadurch profitiert auch jQuery UI in vielen Bereichen erheblich [...]]]></description>
			<content:encoded><![CDATA[<p>Zwei Wochen nach der Veröffentlichung von der Javascript-Bibliothek <a class="previewlink" href="http://www.ajaxschmiede.de/jquery/jquery-schaltet-nochmals-einen-gang-rauf/">jQuery in Version 1.3.2</a> erschien vor wenigen Tagen nach etlichen Beta-Versionen das 1.7er-Release der Benutzerinteraktions-Erweiterung jQuery UI.</p>
<p>Etliche der Neuerungen im Überblick:</p>
<ul>
<li>jQuery UI 1.7 ist die erste Version der Schnittstelle, die auf jQuery 1.3 als Untersatz baut. Dadurch profitiert auch jQuery UI in vielen Bereichen erheblich von den Geschwindigkeitsverbesserungen und Erweiterungen der neuen Bibliothekenversion.</li>
<li>Neben dem Beheben einer Vielzahl von Fehlern und dem Einpflegen unzähliger Verbesserungen, wurde jedes einzelne, verfügbare Plugin dahingehend überarbeitet und optimiert möglichst sauberen HTML-Code zu verwenden. Dabei wurde jedoch auch darauf geachtet, dass Web-Entwickler einfache aber dennoch vielfältige Möglichkeiten haben, die Plugins den eigenen Vorstellungen entsprechend zu erweitern und zu optimieren.</li>
<li>jQuery UI 1.7 basiert zudem auf dem brandneuen und mächtigen <a class="previewlink" href="http://jqueryui.com/docs/Theming/API">CSS-Framework</a>, das so entwickelt wurde, dass es nicht nur die jQuery UI-eigenen, sondern auch nutzerspezifische Plugins unterstützt. Damit ist jeder Web-Entwickler in der Lage seine eigenen Plugins auf einfache Weise ThemeRoller-kompartibel zu machen. Das Framework bietet CSS-Klassen für die meisten UI-Elemente, Zustände, Container und Icons.</li>
<li>ThemeRoller, der jetzt nun vollständig überarbeitet in Version 2 vorliegt, ist ein CSS-Framework, das sich ganz speziell der Entwicklung von Benutzerschnittstellen widmet. Mittels  ThemeRoller können die CSS-Framework-Klassen verändert und angepasst werden.</li>
</ul>
<p>Auf der jQuery UI-Seite finden sich eine Reihe von <a href="http://jqueryui.com/demos/">Beispielen und Anwendungsmöglichkeiten</a>. Wenn es euch interessiert, schauts euch an und macht was geniales daraus &#8211; falls berichten wir dann darüber.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxschmiede.de/jquery/jquery-17-zieht-nach-mehr-als-nur-ein-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery schaltet nochmals einen Gang rauf</title>
		<link>http://www.ajaxschmiede.de/jquery/jquery-schaltet-nochmals-einen-gang-rauf/</link>
		<comments>http://www.ajaxschmiede.de/jquery/jquery-schaltet-nochmals-einen-gang-rauf/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 14:10:56 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.ajaxschmiede.de/?p=351</guid>
		<description><![CDATA[Nach Erscheinen der überragenden jQuery-Version 1.3 vor 5 Wochen und dessen kleinem Bugfix 1.3.1 kurze Zeit später, präsentierten die Entwickler vor wenigen Tagen das 1.3.2er Release ihrer Javascript-Bibliothek. In dieser Version beschleunigten die jQuery-Macher die Perfomance nochmals deutlich, vor allem im Internet Explorer. So verarbeitet der IE jetzt Selektoren im Schnitt um 25% schneller. Desweiteren [...]]]></description>
			<content:encoded><![CDATA[<p>Nach Erscheinen der überragenden <a href="http://www.ajaxschmiede.de/jquery/jquery-13-greift-die-konkurrenz-an/">jQuery-Version 1.3</a> vor 5 Wochen und dessen kleinem Bugfix 1.3.1 kurze Zeit später, präsentierten die Entwickler vor wenigen Tagen das 1.3.2er Release ihrer Javascript-Bibliothek.</p>
<p>In dieser Version beschleunigten die jQuery-Macher die Perfomance nochmals deutlich, vor allem im Internet Explorer. So verarbeitet der IE jetzt Selektoren im Schnitt um 25% schneller.</p>
<p>Desweiteren wurde die Geschwindigkeit des :hidden/:visible-Selektors in allen Browsers extrem verbessert und erkennt zudem nun auch Elemente korrekt als &#8220;nicht sichtbar&#8221;, wenn dieses sich innerhalb eines verdeckten Elements befindet.</p>
<p>Sämtliche Höhen- und Breitenangaben werden von den verschiedenen Browsern nun ebenfalls nur noch in einem Bruchteil der Zeit berechnet.</p>
<p>Weitere Änderungen:</p>
<p>Funktionen zum Einfügen von Elementen in die HTML-Struktur geben nun anstatt des Elternelements die eingfügten Elemente zurück.</p>
<pre class="brush: jscript;">
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;script&gt;
$('&lt;p/&gt;')
.appendTo('div')
.addClass('test');
&lt;/script&gt;
// Ergebnis jQuery 1.3.1 (and älter)
&lt;div&gt;&lt;p class=&quot;test&quot;&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;
// Ergebnis jQuery 1.3.2
&lt;div&gt;&lt;p class=&quot;test&quot;&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div&gt;&lt;p class=&quot;test&quot;&gt;&lt;/p&gt;&lt;/div&gt;
</pre>
<p>Zudem wurde die Reihenfolge der zurückgegeben Elemente &#8211; wie in der Selektor-API vorgesehen &#8211; nun dahin gehend geändert, dass diese in entsprechend dem Vorkommen im Dokument zurückgeliefert werden.</p>
<pre class="brush: jscript;">
// jQuery 1.3.1 (and älter)
$(&quot;h1, h2, h3&quot;);
Reihenfolge: h1, h1, h2, h2, h3, h3
// jQuery 1.3.2
$(&quot;h1, h2, h3&quot;);
Reihenfolge: h1, h2, h3, h3, h1, h2
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxschmiede.de/jquery/jquery-schaltet-nochmals-einen-gang-rauf/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Viele Wege führen zu runden Ecken</title>
		<link>http://www.ajaxschmiede.de/jquery/viele-wege-fuehren-zu-runden-ecken/</link>
		<comments>http://www.ajaxschmiede.de/jquery/viele-wege-fuehren-zu-runden-ecken/#comments</comments>
		<pubDate>Mon, 26 Jan 2009 18:23:27 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Canvas]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.ajaxschmiede.de/?p=320</guid>
		<description><![CDATA[Nachdem ich vor etlichen Wochen mit Liquid Canvas ein Lösung vorgestellt habe, wie man auf einfache Weise im nachhinein seinen Elementen runde Ecken verpassen kann, ließ mich das Thema seitdem nicht mehr los. Bei der Suche noch dem besten und ultimativen Ansatz habe ich etliche interessante Projekte ausprobiert. Vier Lösungsansätze möchte ich hier genauer vorstellen [...]]]></description>
			<content:encoded><![CDATA[<p>Nachdem ich vor etlichen Wochen mit <a href="http://www.ajaxschmiede.de/jquery/runde-ecken-ganz-einfach-mit-liquid-canvas/">Liquid Canvas</a> ein Lösung <a href="http://www.ruzee.com/content/liquid-canvas">vorgestellt</a> habe, wie man auf einfache Weise im nachhinein seinen Elementen runde Ecken verpassen kann, ließ mich das Thema seitdem nicht mehr los.</p>
<p>Bei der Suche noch dem besten und ultimativen Ansatz habe ich etliche interessante Projekte ausprobiert.</p>
<p>Vier Lösungsansätze möchte ich hier genauer vorstellen und auf den Einbau und deren Funktionsweise eingehen. Zusätzliche werde ich noch ein paar Alternativen nennen.</p>
<p><strong>jQuery Round Corner</strong></p>
<p>Avinoam Henig stellte auf seiner <a class="previewlink" href="http://roundcorners.avinoam.info/">Homepage</a> mit jQuery Round Corners ein insgesamt ziemlich ausgereiftes jQuery-Plugin zur Verfügung.</p>
<p>Um es nutzen zu können, benötigt man eine <a href="http://www.ajaxschmiede.de/jquery/jquery-ein-machtiges-und-effizientes-werkzeug/">jQuery</a>-Version ( die aktuelle <a href="http://www.ajaxschmiede.de/jquery/jquery-13-greift-die-konkurrenz-an/">Version 1.3</a>(.1)  funktioniert auch! ) und <a href="http://www.ajaxschmiede.de/canvas/einfuehrung-in-canvas/">Explorer-Canvas</a>. Beide Skripte müssen zusammen mit dem roundCorner-Skript in den Dateikopf eingebunden werden.</p>
<p>Anschließend bettet man beispielsweise solchen Code wie <em>$(&#8216;#roundCorners&#8217;).roundCorners(&#8220;25px&#8221;);</em> ein. RoundCorners erzeugt daraus um (beziehungsweise &#8220;hinter&#8221;) das Element eine Canvas-Grafik mit runden Ecken.</p>
<p>Der Rahmenradius lässt sich für jede Ecke individuell angeben, zum Beispiel <em>.roundCorners(&#8220;25px&#8221;, 0, &#8220;25px&#8221;, 0); </em>. Die erste Angabe steht für die linke obere Ecke, weiter folgen rechts oben, rechts unten und links unten.</p>
<p>Angaben zu Rahmenfarbe und &#8211; dicke werden entsprechend der CSS-Formatierung des betreffenden Elements angewendet.</p>
<p>Das Ergebnis kann sich insgesamt in allen gängigen Browsern sehen lassen.</p>
<p>Was ich an dieser Umsetzung merkwürdig finde, ist die Veränderung der Element- / Rahmengröße beim Überfahren mit der Maus.</p>
<p><strong>LiquidCanvas</strong></p>
<p><a href="http://www.ajaxschmiede.de/jquery/runde-ecken-ganz-einfach-mit-liquid-canvas/">LiquidCanvas</a> von Steffen Rusitschka ist von der Funktionsweise her dem oben genannten RoundCorners sehr ähnlich. Auch hier wird eine Canvas-Grafik verwendet, die das betreffende Element umfasst.</p>
<p>Ebenfalls benötigt LC jQuery und ExCanvas als eingebundene Header-Files. Zusätzlich müssen beide LC-Dateien (<span class="attribute-value">liquid-canvas.js und</span> <span class="attribute-value">liquid-canvas-plugins.js) eingebunden sein.<br />
</span></p>
<p>Im Gegensatz zu anderen Implementieren lässt sich der Radius der runden Ecken hier nur für alle Ecken allgemein angeben. Dafür bietet LiquidCanvas die Möglichkeit, linieare Farbverläufe als Hintergrund-Füllfarbe zu nutzen.</p>
<p>Ein typischer Aufruf sieht so aus: <em>$(&#8220;#liquidCanvas&#8221;).liquidCanvas( &#8220;[fill{color:#000000} border{color:#dd0000; width:5}] =&gt; roundedRect{radius:25}&#8221; );</em>.</p>
<p>Die Farbe und Dicke der Rahmen wird hierbei in dem Aufruf selbst definiert. Das bedeutet aber wiederum, dass man etwaige vorherige Rahmenformatierungen aufheben muss. Dies geht zum Beispiel mit dem Code <em>$(&#8220;#liquidCanvas&#8221;).css(&#8220;border-style&#8221;,&#8221;none&#8221;)</em>.</p>
<p>Bei LiquidCanvas fiel mir auf, dass das Skript die padding-Abstände nicht korrekt übernimmt. Hier muss im nachhinein noch Hand an die Elemente gelegt werden, um die Abstände zu korrigieren.</p>
<p><strong>scale9grid</strong></p>
<p>Einen gänzlich anderen Weg geht &#8220;Gordon&#8221; mit <a class="previewlink" href="http://hempton.com/examples/scale9grid/">scale9grid</a>. Dieses orientiert sich an der traditionellen Methode zum Erstellen individueller Rahmen mittels div-Verschachtelungen.</p>
<p>Um scale9grid zu nutzen, benötigt man zum einen jQuery, das Plugin scale9grid und eine (größere) Rahmengrafik, die das Aussehen des zukünftigen Elementrahmens beinhaltet.</p>
<p>Um das betreffende Element werden acht div&#8217;s angehangen &#8211; für jede Richtung eins &#8211; und mit einem Ausschnitt der Rahmengrafikdatei beklebt.</p>
<p>Besonders interessant finde ich die Möglichkeit mit jQuery die Hintergrundgrafik erst kurz vor dem scale9grid-Aufruf hinzu zufügen.</p>
<p>Dies sieht dann beispielsweise so aus: <em>$(&#8216;#scale9grid&#8217;).css(&#8220;background-image&#8221;,&#8221;url(schwarzrot.png)&#8221;).scale9Grid({top:30,bottom:30,left:30,right:30});</em></p>
<p>Die vier Parameter der Methode bestimmen die Schnittpunkte der Grafik. Der Reihe nach: Abstand von oben, von unten, von links und von rechts.</p>
<p>Was mich an dieser Lösung frustriert, sind die Abweichungen von Breite und padding-Angabe. Diese kann man in der <a href="http://www.ajaxschmiede.de/demos/rundeecken/">Demo</a> gut nachvollziehen.</p>
<p><strong>dd_roundies</strong></p>
<p>Drew Millers Projekt <a class="previewlink" href="http://dillerdesign.com/experiment/DD_roundies/">dd_roundies</a> richtet sich speziell an den Internet Explorer (Version 6). Hierbei nutzt die IE-Vektoren-Auszeichnungssprache VML genutzt, um Vektorgrafiken für den IE zu erzeugen, die runde Ecken darstellen (Anmerkung: Explorer Canvas tut das selbe).</p>
<p>dd_roundies benötigt keine anderen (fremden) Skript-Dateien außer die eigene <code class="box">DD_roundies.js.</code></p>
<p>Mit der Anweisung <em>DD_roundies.addRule(&#8216;#dd_roundies&#8217;, &#8217;25px&#8217;, true); </em>kann beispielsweise ein 25 Pixel breiter Rahmenradius erzeugt werden. Auch hierbei können 4 verschiedene Werte (wie <code>"10px 5px 3px 0"</code> als zweiten Parameter) angegeben werden, um jeder Ecke einen indiviuellen Rahmenradius zuzuweisen.</p>
<p>Millers Skript kann jedoch nicht mit <em>table</em>-Elementen und textarea&#8217;s umgehen. Desweiteren gibt es aktuell noch etliche Probleme mit der Beta der 8. IE-Generation.</p>
<p>Für Browser, die von Haus aus Rahmenradius-Eigenschaften css-seitig ( <em>-moz-border-radius</em>, <em>-webkit-border-radius</em> oder das W3C-konforme <em>border-radius</em> ) unterstützen, gibt es den optionalen dritten Parameter, der diese nativen Eigenschaft nutzt.</p>
<p>Opera bleibt bei dieser Lösung jedoch außen vor. Zudem sehen die nativen runden Ecken im Firefox 2 sehr dürftig aus, so dass man hier andere Techniken wählen sollte.</p>
<p>Ansonsten erzeugt dd_roundies eine pixelgenaue Übereinstimmung zwischen Firefox 3, Webkit/Safari 3 und IE6 /7.</p>
<p>Auf meiner eingerichteten <a href="http://www.ajaxschmiede.de/demos/rundeecken/">Demo-Seite</a> kann jeder sich selbst ein Bild über die erzielten Ergebnisse der einzelnen Lösungen machen.</p>
<p><strong>Alternative (jQuery-) Projekte</strong>, die sich auch mit runden Ecken beschäftigen:</p>
<ul>
<li><a class="previewlink" href="http://blue-anvil.com/jquerycurvycorners/test.html">jQuery Curvy Corners</a></li>
<li><a class="previewlink" href="http://www.maierhofer.de/BackgroundCanvas.htm">jQuery BackgroundCanvas</a></li>
<li><a class="previewlink" href="http://www.atblabs.com/jquery.corners.html">jQuery Corners</a></li>
<li><a class="previewlink" href="http://www.protocoder.com/web-design/css/css-multiple-backgrounds-background-layering-with-jquery.html">CSS Multiple Backgrounds</a></li>
</ul>
<p><strong>Fazit</strong></p>
<p>Die perfekte Lösung gibt es noch nicht.</p>
<p>Grundsätzliche bevorzuge ich, soweit es möglich ist, die nativen CSS-Eigenschaften runde Rahmen um Elemente zu erzeugen.</p>
<p>Für IE und Opera bietet es sich, die Projekte, die mit Canvas arbeiten, genauer anzuschauen und eines davon zu nutzen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxschmiede.de/jquery/viele-wege-fuehren-zu-runden-ecken/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>jQuery 1.3 greift die Konkurrenz an</title>
		<link>http://www.ajaxschmiede.de/jquery/jquery-13-greift-die-konkurrenz-an/</link>
		<comments>http://www.ajaxschmiede.de/jquery/jquery-13-greift-die-konkurrenz-an/#comments</comments>
		<pubDate>Sun, 18 Jan 2009 21:34:19 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.ajaxschmiede.de/?p=305</guid>
		<description><![CDATA[Die jQuery-Entwicker präsentierten vor wenigen Tagen mit Version 1.3 ihrer Javascript-Bibliothek ein sehr auf Performance und Programmiererfreundlichkeit getrimmtes größeres Release. Kernstück ist die neue CSS-Selector-Engine Sizzle. Sizzle wurde als eigenständiges Projekt von jQuery entwickelt und steht jedem zur Verwendung frei zur Verfügung. Mit allen gängigen Selektoren und Browsern bietet die von John Resig entwickelte Engine [...]]]></description>
			<content:encoded><![CDATA[<p>Die jQuery-Entwicker präsentierten vor wenigen Tagen mit <a class="previewlink" href="http://docs.jquery.com/Release:jQuery_1.3">Version 1.3</a> ihrer Javascript-Bibliothek ein sehr auf Performance und Programmiererfreundlichkeit getrimmtes größeres Release.</p>
<p>Kernstück ist die neue CSS-Selector-Engine <a href="http://www.ajaxschmiede.de/jquery/jquery-demnaechst-mit-neuer-selektor-engine-sizzle/">Sizzle</a>. Sizzle wurde als eigenständiges Projekt von jQuery entwickelt und steht jedem zur Verwendung frei zur Verfügung. Mit allen gängigen Selektoren und Browsern bietet die von John Resig entwickelte Engine die beste Performance.</p>
<p>Mit den neu eingeführten &#8220;Live Events&#8221; haben JS-Entwickler nun eine sehr einfache (und coole) Methode zur Verfügung, die Ereignisse sowohl an bestehende als auch an zukünftige Elemente bindet.</p>
<p>Folgendes Code-Beispiel soll das Vorgehen verdeutlichen:</p>
<pre class="brush: jscript;">
$(&quot;p&quot;).live(&quot;click&quot;, function() {
$(this).after(&quot;Another paragraph!&quot;);
});
</pre>
<p>An ein p-Element wird ein Klick-Ereignis gebunden, das bei Aktivierung einen weiteren Paragraphen erzeugt, dem sofort ebenfalls das Klick-Event zugewiesen wird.</p>
<p>Möglich wurde dies durch den 30 mal schnelleren Auswahlfilter (in englisch: Delegation Filter) in Sizzle, der in anderen Implementierungen seinesgleichen sucht.</p>
<p>Komplett überarbeitet wurde auch das jQuery.event-Objekt. Es verhält sich nun in allen moderen Browser nach den Vorgaben des W3C.</p>
<p>Sämtliche HTML-Einfügemethoden wie <em>append()</em>, <em>prepend()</em>, <em>before()</em> und <em>after()</em> wurden einer Generalüberholung unterzogen. Vom einstige Flaschenhals ist nicht mehr viel zu merken. Das Code einfügen geht nun im Schnitt mehr als 6 mal schneller von statten.</p>
<p>Die offset()-Methode wurde auch grundlegend überarbeitet. Browserunterschiede wurden auch hier einfacher beseitigt und die Ausführungsgeschwindigkeit verdreifacht.</p>
<p><strong>Achtung!</strong> Aufpassen sollten all diejenigen, die mit Attributfiltern gearbeitet haben. Die ehemalige Syntax [@attribute] werde entfernt. Einfach das @ im Code entfernen und schon funktionierts.</p>
<p>Ingesamt hielten über etliche Hundert Überarbeitungen und Neuerungen Einzug in jQuery 1.3. Daher lautet mein Fazit:  <a href="http://docs.jquery.com/Release:jQuery_1.3#Upgrading"><strong>Sehr empfehlenswert!</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxschmiede.de/jquery/jquery-13-greift-die-konkurrenz-an/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>jQuery 1.3 mit neuer CSS Selector-Engine</title>
		<link>http://www.ajaxschmiede.de/jquery/jquery-13-mit-neuer-css-selector-engine/</link>
		<comments>http://www.ajaxschmiede.de/jquery/jquery-13-mit-neuer-css-selector-engine/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 17:27:05 +0000</pubDate>
		<dc:creator>Tobi</dc:creator>
				<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.ajaxschmiede.de/jquery/jquery-13-mit-neuer-css-selector-engine/</guid>
		<description><![CDATA[Das jQuery Team hat an der neuen Release hart gearbeitet, diese wurde jetzt in der Version Beta 1 veröffentlicht und eignet sich noch nicht für den echten Einsatz bei der Entwicklung von Internet-Anwendungen. Die Entwickler sind über jeden Tester dankbar, umso schneller können Fehler gefunden und behoben werden.  Den Download der Beta Version, einen Link [...]]]></description>
			<content:encoded><![CDATA[<p>Das jQuery Team hat an der neuen Release hart gearbeitet, diese wurde jetzt in der Version Beta 1 veröffentlicht und eignet sich noch nicht für den echten Einsatz bei der Entwicklung von Internet-Anwendungen. Die Entwickler sind über jeden Tester dankbar, umso schneller können Fehler gefunden und behoben werden.  Den Download der Beta Version, einen Link zum Bug-Tracker usw. findet ihr <a class="previewlink" href="http://blog.jquery.com/2008/12/22/help-test-jquery-13-beta-1/" target="_blank">hier</a>.</p>
<p>Was ist neu in jQuery 1.3?</p>
<ul>
<li>Die CSS Selector-Engine wurde komplett überarbeitet. jQuery setzt jetzt auf die Selector-Engine &#8220;<a class="previewlink" href="http://github.com/jeresig/sizzle/tree/master" target="_blank">Sizzle</a>&#8220;, die von John Resign entwickelt wurde. Diese Engine ist nur 3kb groß und soll viel schneller sein. Außerdem ist sie von keiner anderen Bibliothek abhängig.</li>
<li>Weiterhin wurde die DOM-Manipulation (append/prepend/before/after) überarbeitet.</li>
<li>Die offset() Methode wurde komplett neu geschrieben.</li>
<li>Die Logik für den Handhabung von namenraumbasierten Ereignissen wurde komplett umgeschrieben.</li>
</ul>
<p>Es gibt noch eine Menge weiterer neuer Features, aber darauf möchten die Entwickler später eingehen. Die finale Version wird für den 14. Januar 2009 angepeilt. Für Feedback und die Meldung von Fehlern sind die Entwickler sehr dankbar.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxschmiede.de/jquery/jquery-13-mit-neuer-css-selector-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery in Aktion: JavaScript Operating System</title>
		<link>http://www.ajaxschmiede.de/jquery/jquery-in-aktion-javascript-operating-system/</link>
		<comments>http://www.ajaxschmiede.de/jquery/jquery-in-aktion-javascript-operating-system/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 18:51:22 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.ajaxschmiede.de/jquery/jquery-in-aktion-javascript-operating-system/</guid>
		<description><![CDATA[James Luterek präsentierte vor wenigen Tagen seine Implementierung eines Betriebssystemdesktops mit Web-Methoden. Das bisherige Ergebnis namens JSOS (JavaScript Operating System) kann sich sehen lassen. Die ganze Anwendung nutzt einzig die Programmiertechniken Javascript (inbesondere jQuery), HTML und CSS. Das Hintergrundbild ist die einzige vorhandene Grafik. Das restliche Aussehen wurde per Stylesheets erstellt. Folgende Funktionen wurden bisher [...]]]></description>
			<content:encoded><![CDATA[<p>James Luterek präsentierte vor wenigen Tagen seine Implementierung eines <a href="http://dev.luterek.com/jsos/">Betriebssystemdesktops</a> mit Web-Methoden. Das bisherige Ergebnis namens JSOS (JavaScript Operating System) kann sich sehen lassen.</p>
<p>Die ganze Anwendung nutzt einzig die Programmiertechniken Javascript (inbesondere <a href="http://www.ajaxschmiede.de/category/jquery/">jQuery</a>), HTML und CSS. Das Hintergrundbild ist die einzige vorhandene Grafik. Das restliche Aussehen wurde per Stylesheets erstellt.</p>
<p>Folgende Funktionen wurden bisher von Luterek umgesetzt:</p>
<ul>
<li> Start-Button</li>
<li>Taskleiste &#8211; Anzeigen geöffneter Fenster und Hervorheben/Minimieren</li>
<li>Fenster &#8211; Erstellen, Bewegen, Vollbild, Minimieren, Größe verändern, usw.</li>
<li>Desktop anzeigen mittels Rechtsklick</li>
<li>Eigenschaften/Aussehen (bestimmen von Textfarbe, Hintergrundfarbe und -grafik)</li>
<li>Speichern der Einstellungen in Cookies für den nächsten Besuch</li>
</ul>
<p>Obwohl Firefox das bessere Ergebnis liefert, funktioniert JSOS vollständig im IE ab Version 7. Firefox wird ab der 2. Generation unterstützt. In der aktuellen Opera-10-Alpha läufts es &#8211; wenn auch stockend -, im Safari (3.2.1) gab es etliche Darstellungsfehler.</p>
<p><a href="http://www.ajaxschmiede.de/wp-content/uploads/2008/12/jsos.png" title="JSOS - JavaScript Operating System" rel="lightbox[jsos]"><img src="http://www.ajaxschmiede.de/wp-content/uploads/2008/12/jsos.thumbnail.png" alt="JSOS - JavaScript Operating System" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxschmiede.de/jquery/jquery-in-aktion-javascript-operating-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Runde Ecken ganz einfach mit Liquid Canvas</title>
		<link>http://www.ajaxschmiede.de/jquery/runde-ecken-ganz-einfach-mit-liquid-canvas/</link>
		<comments>http://www.ajaxschmiede.de/jquery/runde-ecken-ganz-einfach-mit-liquid-canvas/#comments</comments>
		<pubDate>Sat, 29 Nov 2008 21:03:45 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Canvas]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.ajaxschmiede.de/jquery/runde-ecken-ganz-einfach-mit-liquid-canvas/</guid>
		<description><![CDATA[Steffen Rusitschka veröffentliche vor wenigen Tagen die sehr gelungene Mini-Javascriptbibliothek Liquid Canvas zum Erzeugen perfekter runder Ecken an beliebigen HTML-Elementen. Die Rundungen werden zur Laufzeit über Canvas generiert und automatisch in den HTML-Code eingebettet. Der Einsatz von herkömmlichen Bildbearbeitungsprogrammen wie Gimp, Inkscape oder Photoshop entfällt völlig. Die Features im Einzelnen: automatisches Erzeugen von HTML-Canvas-Elementen, die [...]]]></description>
			<content:encoded><![CDATA[<p>Steffen Rusitschka veröffentliche vor wenigen Tagen die sehr gelungene Mini-Javascriptbibliothek <a href="http://www.ruzee.com/content/liquid-canvas" class="previewlink">Liquid Canvas</a> zum Erzeugen perfekter runder Ecken an beliebigen HTML-Elementen.</p>
<p>Die Rundungen werden zur Laufzeit über <a href="http://www.ajaxschmiede.de/canvas/einfuehrung-in-canvas/">Canvas</a> generiert und automatisch in den HTML-Code eingebettet. Der Einsatz von herkömmlichen Bildbearbeitungsprogrammen wie Gimp, Inkscape oder Photoshop entfällt völlig.</p>
<p>Die Features im Einzelnen:</p>
<ul>
<li>automatisches Erzeugen von HTML-Canvas-Elementen, die sich der Größe des HTML-Elements anpassen</li>
<li>Canvas-Abstraktion &#8211; jedes HTML-Element erhält eine paint-Methode</li>
<li>Plugins zum Rendern können verwendet werden</li>
<li>etliche Plugins existieren bereits, eigene können ebenso eingebunden werden</li>
<li>vereinfachte Render-Sprache für Plugin basiertes Rendern</li>
<li>an CSS angelehnte Syntax der Render-Sprache für die plugin-Formatierung</li>
<li>nutzt nur HTML, Canvas, jQuery und exCanvas</li>
<li>funktioniert mit Firefox (2+), Internet Explorer (6+), Safari (3+), Chrome</li>
</ul>
<p><a href="http://www.ajaxschmiede.de/wp-content/uploads/2008/11/rundeecke1.png" title="runde Ecken mit Liquid Canvas - Beispiel 1" rel="lightbox[liquidcanvas]"><img src="http://www.ajaxschmiede.de/wp-content/uploads/2008/11/rundeecke1.thumbnail.png" alt="runde Ecken mit Liquid Canvas - Beispiel 1" /></a> <a href="http://www.ajaxschmiede.de/wp-content/uploads/2008/11/rundeecke2.png" title="runde Ecken mit Liquid Canvas - Beispiel 2" rel="lightbox[liquidcanvas]"><img src="http://www.ajaxschmiede.de/wp-content/uploads/2008/11/rundeecke2.thumbnail.png" alt="runde Ecken mit Liquid Canvas - Beispiel 2" /></a> <a href="http://www.ajaxschmiede.de/wp-content/uploads/2008/11/rundeecke3.png" title="runde Ecken mit Liquid Canvas - Beispiel 3" rel="lightbox[liquidcanvas]"><img src="http://www.ajaxschmiede.de/wp-content/uploads/2008/11/rundeecke3.thumbnail.png" alt="runde Ecken mit Liquid Canvas - Beispiel 3" /></a> <a href="http://www.ajaxschmiede.de/wp-content/uploads/2008/11/rundeecke4.png" title="runde Ecken mit Liquid Canvas - Beispiel 4" rel="lightbox[liquidcanvas]"><img src="http://www.ajaxschmiede.de/wp-content/uploads/2008/11/rundeecke4.thumbnail.png" alt="runde Ecken mit Liquid Canvas - Beispiel 4" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxschmiede.de/jquery/runde-ecken-ganz-einfach-mit-liquid-canvas/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>jQuery demnächst mit neuer Selektor-Engine Sizzle</title>
		<link>http://www.ajaxschmiede.de/jquery/jquery-demnaechst-mit-neuer-selektor-engine-sizzle/</link>
		<comments>http://www.ajaxschmiede.de/jquery/jquery-demnaechst-mit-neuer-selektor-engine-sizzle/#comments</comments>
		<pubDate>Tue, 26 Aug 2008 18:42:31 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.ajaxschmiede.de/jquery/jquery-demnaechst-mit-neuer-selektor-engine-sizzle/</guid>
		<description><![CDATA[jQuery-Guru John Resig stellte vor wenigen Stunden sein aktuelles Projekt &#8220;Sizzle&#8221; vor. Sizzle ist eine neue, Framework unabhängige Selektor-Engine, die nach Fertigstellung auf allen üblichen Browsern funktionieren soll und dabei einen erheblichen Geschwindigkeitsvorteil gegenüber bisherigen Lösungen bietet. Die komprimiert gerade einmal 4 Kilobyte große Engine soll in Firefox 3 4x, in Opera 9 3x und [...]]]></description>
			<content:encoded><![CDATA[<p>jQuery-Guru John Resig stellte vor wenigen Stunden sein aktuelles Projekt &#8220;<a href="http://github.com/jeresig/sizzle/tree/master" class="previewlink">Sizzle</a>&#8221; vor.</p>
<p>Sizzle ist eine neue, Framework unabhängige Selektor-Engine, die nach Fertigstellung auf allen üblichen Browsern funktionieren soll und dabei einen erheblichen Geschwindigkeitsvorteil gegenüber bisherigen Lösungen bietet.</p>
<p>Die komprimiert gerade einmal 4 Kilobyte große Engine soll in Firefox 3 4x, in Opera 9 3x und in Safari 1,5 mal schneller zu Werke gehen.</p>
<p>Das bisherige Code-Release enthält noch etliche kleinere Fehler in den standardkonformen Browsern und einige schwerwiegendere im Internet Explorer.</p>
<p>Die Arbeiten an Sizzle halten also noch an. Es wird dringend abgeraten die jetzige Version zu verwenden.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxschmiede.de/jquery/jquery-demnaechst-mit-neuer-selektor-engine-sizzle/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Effizientere und schnellere Event-Steuerung dank jQuery 1.2.6</title>
		<link>http://www.ajaxschmiede.de/jquery/effizientere-und-schnellere-event-steuerung-dank-jquery-126/</link>
		<comments>http://www.ajaxschmiede.de/jquery/effizientere-und-schnellere-event-steuerung-dank-jquery-126/#comments</comments>
		<pubDate>Sat, 07 Jun 2008 12:15:24 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.ajaxschmiede.de/jquery/effizientere-und-schnellere-event-steuerung-dank-jquery-126/</guid>
		<description><![CDATA[Mit der vor wenigen Tagen vorgestellten jQuery-Version 1.2.6 steigerte das Entwicklerteam um John Resig die Ausführungsgeschwindigkeit ihrer Javascript-Bibliothek, über die wir bereits vor einem halben Jahr zum ersten Mal berichteten, vor allem im Bereich Event-Handlung enorm. Zudem wurden einige Feature überholt beziehungsweise erweitert. Akribisch haben die Entwickler ihren bestehenden Code und dessen Verwendung in der [...]]]></description>
			<content:encoded><![CDATA[<p>Mit der vor wenigen Tagen vorgestellten <a href="http://jquery.com/blog/2008/06/04/jquery-126-events-100-faster/" class="previewlink">jQuery-Version 1.2.6</a> steigerte das Entwicklerteam um John Resig die Ausführungsgeschwindigkeit ihrer Javascript-Bibliothek, über die wir bereits vor <a href="http://www.ajaxschmiede.de/jquery/jquery-ein-machtiges-und-effizientes-werkzeug/">einem halben Jahr</a> zum ersten Mal berichteten, vor allem im Bereich Event-Handlung enorm. Zudem wurden einige Feature überholt beziehungsweise erweitert.</p>
<p>Akribisch haben die Entwickler ihren bestehenden Code und dessen Verwendung in der Praxis analysiert und nach Schwachstellen und Bremsen gesucht. Anschließend wurden gezielt die Abschnitte beschleunigt und optimiert, die am häufigsten aufgerufen werden. Das Ergebnis kann sich sehen lassen.</p>
<p>Die Performancegewinne sehen im Detail wie folgt aus:</p>
<ul>
<li>Event-Handling &#8211; 103% schneller (vor allem spürbar bei besonderen Events wie Drag&#8217;n'Drop)</li>
<li>CSS-Selektoren &#8211; 13% schneller</li>
<li>offset()-Methode &#8211;  21% schneller</li>
<li>css()-Methode &#8211;  25% schneller</li>
</ul>
<p>Das bisherige <a href="http://docs.jquery.com/Plugins/dimensions">dimensions-Plugin</a> ist in 1.2.6er Version in den jQuery-Kern gewandert. Dadurch stehen standardmäßig einheitliche, browserübergreifende Methoden zur Bestimmung von der Elementposition, der inneren Breite und Höhe sowie der äußeren Breite und Höhe eines Elements zur Verfügung.</p>
<p>Besonders möchte ich noch die Änderung hervorheben, dass die toggle-Funktion es nun erlaubt, zwischen mehr als 2 Funktionsaufrufen beim Klicken durchzuschalten.</p>
<p>Ein Code-Beispiel mit drei nacheinanderfolgenden Aufrufen:</p>
<pre class="brush: jscript;">
$(&quot;div&quot;).toggle(function(){
$(this).removeClass(&quot;three&quot;).addClass(&quot;one&quot;);
}, function(){
$(this).removeClass(&quot;one&quot;).addClass(&quot;two&quot;);
}, function(){
$(this).removeClass(&quot;two&quot;).addClass(&quot;three&quot;);
});
</pre>
<p>jQuery 1.2.6 steht in den gewohnten Varianten unkomprimiert, gepackt und minified zum <a href="http://docs.jquery.com/Downloading_jQuery#Current_Release" class="previewlink">Download</a> bereit.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxschmiede.de/jquery/effizientere-und-schnellere-event-steuerung-dank-jquery-126/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
