<?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>JQuery, PHP, html, design... // arnaud-k : un blog de geek &#187; tutorial</title>
	<atom:link href="http://blog.arnaud-k.fr/tag/tutorial/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.arnaud-k.fr</link>
	<description>Le blog JQuery, Html, Web Design</description>
	<lastBuildDate>Thu, 21 Apr 2011 08:10:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Tutorial JQuery : trier une liste en drag&#8217;n&#039;drop avec JQueryUI Sortable</title>
		<link>http://blog.arnaud-k.fr/2010/09/29/tutorial-jquery-trier-une-liste-en-dragndrop-avec-jqueryui-sortable/</link>
		<comments>http://blog.arnaud-k.fr/2010/09/29/tutorial-jquery-trier-une-liste-en-dragndrop-avec-jqueryui-sortable/#comments</comments>
		<pubDate>Wed, 29 Sep 2010 07:14:59 +0000</pubDate>
		<dc:creator>arnaud</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[drag'n'drop]]></category>
		<category><![CDATA[JQueryUI]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://blog.arnaud-k.fr/?p=1943</guid>
		<description><![CDATA[Il est toujours compliqué de proposer au internautes de trier des éléments et faire ça de manière simple et ergonomique. On peut, par exemple, proposer de saisir la position pour chaque élément. Mais ça reste contraignant. C&#8217;est dans cette optique&#160;[...]</p> <p class="read-more"><a class="gray normal" href="http://blog.arnaud-k.fr/2010/09/29/tutorial-jquery-trier-une-liste-en-dragndrop-avec-jqueryui-sortable/">Lire la suite&#160;&#62;&#62;</a></p>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.arnaud-k.fr%2F2010%2F09%2F29%2Ftutorial-jquery-trier-une-liste-en-dragndrop-avec-jqueryui-sortable%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.arnaud-k.fr%2F2010%2F09%2F29%2Ftutorial-jquery-trier-une-liste-en-dragndrop-avec-jqueryui-sortable%2F&amp;source=arnaudk&amp;style=compact&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="aligncenter size-full wp-image-1944" title="tuto-sortable" src="http://blog.arnaud-k.fr/wp-content/uploads/2010/09/tuto-sortable.jpg" alt="" width="600" height="200" />Il est <strong>toujours compliqué de proposer au internautes de trier des éléments</strong> et faire ça de manière simple et ergonomique. On peut, par exemple, proposer de saisir la position pour chaque élément. Mais ça reste contraignant.</p>
<p>C&#8217;est dans cette optique qu&#8217;<strong>apparaît l&#8217;option du drag&#8217;n'drop (glisser-déposer en français)</strong>. Je pense que c&#8217;est <strong>ce qu&#8217;il y a de plus simple et intuitif pour l&#8217;internaute</strong>. Il faut néanmoins le prévenir que l&#8217;on attend un glisser-déposer de sa part car ce n&#8217;est pas encore répandu absolument partout&nbsp;!</p>
<h3 class="aligncenter"><a class="demo" href="http://blog.arnaud-k.fr/demos/jquery-drag-n-drop/">Voir la démo du tutorial</a></h3>
<p><strong>Pour réaliser cela, <a href="http://www.jqueryui.com">JQueryUI</a> nous propose le widget nommé Sortable</strong>. Il permet de créer et de configurer le drag&#8217;n'drop pour une liste d&#8217;éléments. Pour commencer, <strong>il faut donc inclure : JQuery et JQueryUI (javascript et CSS).</strong></p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">link</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;stylesheet&quot;</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;jquery-ui-1.8.5.custom.css&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/css&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;jquery-ui-1.8.5.custom.min.js&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span></pre></div></div>

<p>Pour sauvegarder le tri fait par l&#8217;internaute, <strong>il faut enregistrer le tout dans la base de données</strong>. Je te fournis donc celle utilisée dans la démo. Où chauqe élément à un id unique, name contient le nom du fichier de la photo et position pour enregistrer l&#8217;ordre des photos.</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">-- </span>
<span style="color: #808080; font-style: italic;">-- Structure de la table `demo_photo`</span>
<span style="color: #808080; font-style: italic;">-- </span>
<span style="color: #990099; font-weight: bold;">CREATE</span> <span style="color: #990099; font-weight: bold;">TABLE</span> <span style="color: #008000;">`demo<span style="color: #008080; font-weight: bold;">_</span>photo`</span> <span style="color: #FF00FF;">&#40;</span>
  <span style="color: #008000;">`id`</span> <span style="color: #999900; font-weight: bold;">int</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">11</span><span style="color: #FF00FF;">&#41;</span> <span style="color: #CC0099; font-weight: bold;">NOT</span> <span style="color: #9900FF; font-weight: bold;">NULL</span> <span style="color: #FF9900; font-weight: bold;">auto_increment</span><span style="color: #000033;">,</span>
  <span style="color: #008000;">`name`</span> <span style="color: #999900; font-weight: bold;">varchar</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">255</span><span style="color: #FF00FF;">&#41;</span> <span style="color: #CC0099; font-weight: bold;">collate</span> latin1_german2_ci <span style="color: #CC0099; font-weight: bold;">NOT</span> <span style="color: #9900FF; font-weight: bold;">NULL</span><span style="color: #000033;">,</span>
  <span style="color: #008000;">`position`</span> <span style="color: #999900; font-weight: bold;">int</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">11</span><span style="color: #FF00FF;">&#41;</span> <span style="color: #CC0099; font-weight: bold;">NOT</span> <span style="color: #9900FF; font-weight: bold;">NULL</span><span style="color: #000033;">,</span>
  <span style="color: #990099; font-weight: bold;">PRIMARY KEY</span>  <span style="color: #FF00FF;">&#40;</span><span style="color: #008000;">`id`</span><span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">,</span>
  <span style="color: #990099; font-weight: bold;">KEY</span> <span style="color: #008000;">`order`</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #008000;">`position`</span><span style="color: #FF00FF;">&#41;</span>
<span style="color: #FF00FF;">&#41;</span> <span style="color: #FF9900; font-weight: bold;">AUTO_INCREMENT</span><span style="color: #CC0099;">=</span><span style="color: #008080;">6</span> <span style="color: #000033;">;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">-- </span>
<span style="color: #808080; font-style: italic;">-- Contenu de la table `demo_photo`</span>
<span style="color: #808080; font-style: italic;">-- </span>
<span style="color: #990099; font-weight: bold;">INSERT</span> <span style="color: #990099; font-weight: bold;">INTO</span> <span style="color: #008000;">`demo<span style="color: #008080; font-weight: bold;">_</span>photo`</span> <span style="color: #990099; font-weight: bold;">VALUES</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">1</span><span style="color: #000033;">,</span> <span style="color: #008000;">'1.jpg'</span><span style="color: #000033;">,</span> <span style="color: #008080;">2</span><span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">;</span>
<span style="color: #990099; font-weight: bold;">INSERT</span> <span style="color: #990099; font-weight: bold;">INTO</span> <span style="color: #008000;">`demo<span style="color: #008080; font-weight: bold;">_</span>photo`</span> <span style="color: #990099; font-weight: bold;">VALUES</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">2</span><span style="color: #000033;">,</span> <span style="color: #008000;">'2.jpg'</span><span style="color: #000033;">,</span> <span style="color: #008080;">3</span><span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">;</span>
<span style="color: #990099; font-weight: bold;">INSERT</span> <span style="color: #990099; font-weight: bold;">INTO</span> <span style="color: #008000;">`demo<span style="color: #008080; font-weight: bold;">_</span>photo`</span> <span style="color: #990099; font-weight: bold;">VALUES</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">3</span><span style="color: #000033;">,</span> <span style="color: #008000;">'3.jpg'</span><span style="color: #000033;">,</span> <span style="color: #008080;">4</span><span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">;</span>
<span style="color: #990099; font-weight: bold;">INSERT</span> <span style="color: #990099; font-weight: bold;">INTO</span> <span style="color: #008000;">`demo<span style="color: #008080; font-weight: bold;">_</span>photo`</span> <span style="color: #990099; font-weight: bold;">VALUES</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">4</span><span style="color: #000033;">,</span> <span style="color: #008000;">'4.jpg'</span><span style="color: #000033;">,</span> <span style="color: #008080;">1</span><span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">;</span>
<span style="color: #990099; font-weight: bold;">INSERT</span> <span style="color: #990099; font-weight: bold;">INTO</span> <span style="color: #008000;">`demo<span style="color: #008080; font-weight: bold;">_</span>photo`</span> <span style="color: #990099; font-weight: bold;">VALUES</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">5</span><span style="color: #000033;">,</span> <span style="color: #008000;">'5.jpg'</span><span style="color: #000033;">,</span> <span style="color: #008080;">0</span><span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">;</span></pre></div></div>

<p>Ensuite <strong>il faut préparer la liste d&#8217;éléments sur lequel se portera le tri</strong>. Les attributs &laquo;&nbsp;id&nbsp;&raquo; des éléments de la liste devront respecter une syntaxe particulière : &laquo;&nbsp;nomGenerique_id&nbsp;&raquo;. Ou nomGenerique est le même pour tout les éléments (par exemple &laquo;&nbsp;photo&nbsp;&raquo;) et id l&#8217;identifiant unique (dans la base de données) de l&#8217;élément à trier. </p>
<p>Pour afficher la liste, on récupère bien sûr les éléments dans la base de données, en respectant l&#8217;ordre enregistré :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&lt;ul id=&quot;list-photos&quot;&gt;
	<span style="color: #000000; font-weight: bold;">&lt;?php</span>
	<span style="color: #666666; font-style: italic;">//connexion à la base de données </span>
        <span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'DB_NAME'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'nom_de_la_base'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'DB_USER'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'nom_utilisateur'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'DB_PASSWORD'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'mot_de_passe'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'DB_HOST'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'localhost'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$link</span>   <span style="color: #339933;">=</span>   <span style="color: #990000;">mysql_connect</span><span style="color: #009900;">&#40;</span> DB_HOST <span style="color: #339933;">,</span> DB_USER <span style="color: #339933;">,</span> DB_PASSWORD <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #990000;">mysql_select_db</span><span style="color: #009900;">&#40;</span> DB_NAME <span style="color: #339933;">,</span> <span style="color: #000088;">$link</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// récupération des photos dans le bon ordre</span>
	<span style="color: #000088;">$result</span> <span style="color: #339933;">=</span>   <span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'SELECT demo_photo.id, demo_photo.name FROM demo_photo ORDER BY demo_photo.position ASC'</span> <span style="color: #339933;">,</span> <span style="color: #000088;">$link</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$photo</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_fetch_assoc</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$result</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">?&gt;</span>
	&lt;li id=&quot;photo_<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$photo</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'id'</span><span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot;&gt;
		&lt;img src=&quot;photos_NY/<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$photo</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span> ?<span style="color: #339933;">/&gt;</span><span style="color: #0000ff;">&quot; alt=&quot;</span>Photos NY <span style="color: #339933;">-</span> Arnaud<span style="color: #339933;">-</span>k<span style="color: #0000ff;">&quot; /&gt;
		&lt;p&gt;par Arnaud-k&lt;/p&gt;
	&lt;/li&gt;
	&lt;?php
	}
	?&gt;</span>
&lt;/ul&gt;</pre></div></div>

<p>Il faut ensuite <strong>mettre en forme cette liste avec du CSS</strong>. Je ne pense pas qu&#8217;il faille beaucoup d&#8217;explications pour cette partie là.</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">/* style global de la liste non ordonné */</span>
ul<span style="color: #cc00cc;">#list-photos</span><span style="color: #00AA00;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">list-style</span><span style="color: #00AA00;">:</span><span style="color: #993333;">none</span><span style="color: #00AA00;">;</span>
  <span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span><span style="color: #933;">140px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
<span style="color: #808080; font-style: italic;">/* style des éléments de la liste */</span>
ul<span style="color: #cc00cc;">#list-photos</span> li<span style="color: #00AA00;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span><span style="color: #933;">1px</span> <span style="color: #993333;">solid</span> <span style="color: #cc00cc;">#ddd</span><span style="color: #00AA00;">;</span>
  <span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span><span style="color: #933;">10px</span><span style="color: #00AA00;">;</span>
  <span style="color: #000000; font-weight: bold;">cursor</span><span style="color: #00AA00;">:</span>move<span style="color: #00AA00;">;</span>
  <span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span><span style="color: #933;">100px</span><span style="color: #00AA00;">;</span>
  <span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">75px</span><span style="color: #00AA00;">;</span>
  <span style="color: #000000; font-weight: bold;">float</span><span style="color: #00AA00;">:</span><span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">;</span>
  <span style="color: #000000; font-weight: bold;">margin-right</span><span style="color: #00AA00;">:</span><span style="color: #933;">10px</span><span style="color: #00AA00;">;</span>
  <span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#fff</span><span style="color: #00AA00;">;</span>
  <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#212326</span><span style="color: #00AA00;">;</span>
  <span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span><span style="color: #933;">12px</span><span style="color: #00AA00;">;</span>
  -moz-box-shadow<span style="color: #00AA00;">:</span><span style="color: #933;">2px</span> <span style="color: #933;">2px</span> <span style="color: #933;">5px</span> <span style="color: #cc00cc;">#ccc</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
<span style="color: #808080; font-style: italic;">/* style de l'élément fantome, qui apparait losque que l'on bouge un élément */</span>
ul<span style="color: #cc00cc;">#list-photos</span> li.highlight<span style="color: #00AA00;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#f2f2f2</span><span style="color: #00AA00;">;</span>
  <span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span><span style="color: #933;">1px</span> <span style="color: #993333;">dashed</span> <span style="color: #cc00cc;">#212326</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>Ensuite vient <strong>la partie qui nous intéresse vraiment, le code JQuery</strong>. On initialise Sortable avec l&#8217;id de la liste et on met en Callback l&#8217;appel Ajax au fichier PHP qui va procéder à l&#8217;enregistrement dans la base données :</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> <span style="color: #006600; font-style: italic;">// quand la page a fini de se charger</span>
  $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#list-photos&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">sortable</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span> <span style="color: #006600; font-style: italic;">// initialisation de Sortable sur #list-photos</span>
	placeholder<span style="color: #339933;">:</span> <span style="color: #3366CC;">'highlight'</span><span style="color: #339933;">,</span> <span style="color: #006600; font-style: italic;">// classe à ajouter à l'élément fantome</span>
	update<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>  <span style="color: #006600; font-style: italic;">// callback quand l'ordre de la liste est changé</span>
		<span style="color: #003366; font-weight: bold;">var</span> order <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#list-photos'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">sortable</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'serialize'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// récupération des données à envoyer</span>
		$.<span style="color: #660066;">post</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'ajax.php'</span><span style="color: #339933;">,</span>order<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// appel ajax au fichier ajax.php avec l'ordre des photos</span>
	<span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#list-photos&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">disableSelection</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// on désactive la possibilité au navigateur de faire des sélections</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Et voici enfin <strong>le contenu du fichier ajax.php</strong> qui enregistre les positions des éléments. On récupère un $_POST de la forme : photo[] = id_photo. Il suffit de boucler sur ce tableau ($_POST['photo']) et on récupère les id des photos dans l&#8217;ordre :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #666666; font-style: italic;">//connexion à la base de données </span>
<span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'DB_NAME'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'nom_de_la_base'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'DB_USER'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'nom_utilisateur'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'DB_PASSWORD'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'mot_de_passe'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'DB_HOST'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'localhost'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$link</span>   <span style="color: #339933;">=</span>   <span style="color: #990000;">mysql_connect</span><span style="color: #009900;">&#40;</span> DB_HOST <span style="color: #339933;">,</span> DB_USER <span style="color: #339933;">,</span> DB_PASSWORD <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">mysql_select_db</span><span style="color: #009900;">&#40;</span> DB_NAME <span style="color: #339933;">,</span> <span style="color: #000088;">$link</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// changement de l'ordre des photos dans la base de données, photo par photo</span>
<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'photo'</span><span style="color: #009900;">&#93;</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$order</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$id_photo</span> <span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'UPDATE demo_photo SET position = \''</span> <span style="color: #339933;">.</span> safe<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$order</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'\' WHERE id = \''</span> <span style="color: #339933;">.</span> safe<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$id_photo</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'\''</span> <span style="color: #339933;">,</span> <span style="color: #000088;">$link</span> <span style="color: #009900;">&#41;</span> or <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span> <span style="color: #990000;">mysql_error</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/*****
fonctions
*****/</span>
<span style="color: #000000; font-weight: bold;">function</span> safe<span style="color: #009900;">&#40;</span><span style="color: #000088;">$var</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$var</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_real_escape_string</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$var</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$var</span> <span style="color: #339933;">=</span> <span style="color: #990000;">addcslashes</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$var</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'%_'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$var</span> <span style="color: #339933;">=</span> <span style="color: #990000;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$var</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$var</span> <span style="color: #339933;">=</span> <span style="color: #990000;">htmlspecialchars</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$var</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$var</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p><strong>J&#8217;espère que tutoriel est clair et compréhensible</strong>. Il faut, certes, un minimum de connaissances en html, javascript et php mais je pense que ça vaut quand même le coup !</p>


<p>Pas encore de billet sur le même sujet !</p>]]></content:encoded>
			<wfw:commentRss>http://blog.arnaud-k.fr/2010/09/29/tutorial-jquery-trier-une-liste-en-dragndrop-avec-jqueryui-sortable/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Recherche à la Twitter avec JQuery et PHP (tutorial)</title>
		<link>http://blog.arnaud-k.fr/2009/08/13/recherche-a-la-twitter-avec-jquery-et-php-tutorial/</link>
		<comments>http://blog.arnaud-k.fr/2009/08/13/recherche-a-la-twitter-avec-jquery-et-php-tutorial/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 09:41:41 +0000</pubDate>
		<dc:creator>arnaud</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://blog.arnaud-k.fr/?p=1157</guid>
		<description><![CDATA[Tutorial bien sympa trouvé sur le blog 9lessons : &#171;&#160;Twitter like Search with jQuery and Ajax&#160;&#187; (&#171;&#160;recherche à la twitter avec JQuery et Ajax&#160;&#187;). Ce tuto permet donc de créer un formulaire de recherche tout en Ajax. Les résultats sont&#160;[...]</p> <p class="read-more"><a class="gray normal" href="http://blog.arnaud-k.fr/2009/08/13/recherche-a-la-twitter-avec-jquery-et-php-tutorial/">Lire la suite&#160;&#62;&#62;</a></p>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.arnaud-k.fr%2F2009%2F08%2F13%2Frecherche-a-la-twitter-avec-jquery-et-php-tutorial%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.arnaud-k.fr%2F2009%2F08%2F13%2Frecherche-a-la-twitter-avec-jquery-et-php-tutorial%2F&amp;source=arnaudk&amp;style=compact&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="aligncenter size-full wp-image-1158" title="jquery-twitter" src="http://blog.arnaud-k.fr/wp-content/uploads/2009/08/jquery-twitter.png" alt="jquery-twitter" width="600" height="200" /></p>
<p><strong>Tutorial bien sympa trouvé sur le blog 9lessons</strong> : &laquo;&nbsp;<a href="http://9lessons.blogspot.com/2009/08/twitter-like-search-with-jquery-ajax.html">Twitter like Search with jQuery and  Ajax</a>&nbsp;&raquo; (&laquo;&nbsp;recherche à la twitter avec JQuery et Ajax&nbsp;&raquo;). Ce tuto permet donc de créer un formulaire de recherche tout en Ajax. Les résultats sont donc affichés directement sur la même page que le formulaire.</p>
<p>Une démo est disponible directement sur le blog 9lessons.<br />
<a href="http://9lessons.net63.net/newsearch.php" class="demo">Voir la démo</a></p>
<p>A noter que l&#8217;on également <strong>télécharger les scripts expliqués dans le tutorial</strong>. On y retrouve le JQuery, le PHP, l&#8217;HTML et même un peu de CSS. Le tuto est bien complet, l&#8217;effet de recherche en Ajax est toujours classe. J&#8217;espère juste pour toi que tu comprends l&#8217;anglais&#8230; <img src='http://blog.arnaud-k.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>


<p>Pas encore de billet sur le même sujet !</p>]]></content:encoded>
			<wfw:commentRss>http://blog.arnaud-k.fr/2009/08/13/recherche-a-la-twitter-avec-jquery-et-php-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Utilisation de l&#8217;événement &#8216;live()&#8217; de JQuery</title>
		<link>http://blog.arnaud-k.fr/2009/08/03/utilisation-de-levenement-live-de-jquery/</link>
		<comments>http://blog.arnaud-k.fr/2009/08/03/utilisation-de-levenement-live-de-jquery/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 11:49:47 +0000</pubDate>
		<dc:creator>arnaud</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[événement live]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://blog.arnaud-k.fr/?p=1080</guid>
		<description><![CDATA[Avec le passage de JQuery à la version 1.3 (actuellement 1.3.2), est apparu un nouvel événement : live. Live permet d&#8217;ajouter des listeners (&#8216;écouteurs&#8217; d&#8217;événements) sur des éléments du DOM générés en JQuery. Avant la création de cet événement, il&#160;[...]</p> <p class="read-more"><a class="gray normal" href="http://blog.arnaud-k.fr/2009/08/03/utilisation-de-levenement-live-de-jquery/">Lire la suite&#160;&#62;&#62;</a></p>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.arnaud-k.fr%2F2009%2F08%2F03%2Futilisation-de-levenement-live-de-jquery%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.arnaud-k.fr%2F2009%2F08%2F03%2Futilisation-de-levenement-live-de-jquery%2F&amp;source=arnaudk&amp;style=compact&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="aligncenter size-full wp-image-1082" title="jquery evenement live" src="http://blog.arnaud-k.fr/wp-content/uploads/2009/08/jquery-live1.png" alt="jquery evenement live" width="600" height="200" /></p>
<p>Avec le passage de <a href="http://www.jquery.com">JQuery</a> à la version 1.3 (actuellement 1.3.2), <strong>est apparu un nouvel événement : live.</strong></p>
<p>Live permet d&#8217;ajouter des listeners (&#8216;écouteurs&#8217; d&#8217;événements) sur des éléments du DOM générés en JQuery. Avant la création de cet événement, il fallait redéfinir, pour chaque élément du DOM, les écouteurs d&#8217;événement. Cet événement est surtout pratique pour l&#8217;<strong>utilisation d&#8217;AJAX, pour ajouter des controlleurs sur du code retourné par l&#8217;appel AJAX</strong>.</p>
<p>Voici un exemple (celui donné par la <a href="http://docs.jquery.com/Events/live">documentation officielle</a>) :</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;p&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">live</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;click&quot;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
      $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">after</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;&lt;p&gt;Another paragraph!&lt;/p&gt;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Ici, à chaque clic sur un paragraphe, un nouveau paragraphe est créé. Grâce à l&#8217;événement live, on peut également cliquer sur les paragraphes générés par JQuery. On remarque aussi que <strong>l&#8217;appel à l&#8217;événement live requiert deux paramètres</strong> : le premier correspond au nom de l&#8217;événement que l&#8217;on veut assigner à live (ici on ajoute l&#8217;événement &laquo;&nbsp;click&nbsp;&raquo; aux paragraphes)  et en second le code qui doit être exécuté à l&#8217;événement.</p>


<p>Pas encore de billet sur le même sujet !</p>]]></content:encoded>
			<wfw:commentRss>http://blog.arnaud-k.fr/2009/08/03/utilisation-de-levenement-live-de-jquery/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Faire des colonnes intelligentes avec du CSS &amp; JQuery</title>
		<link>http://blog.arnaud-k.fr/2009/07/27/faire-des-colonnes-intelligentes-avec-du-css-jquery/</link>
		<comments>http://blog.arnaud-k.fr/2009/07/27/faire-des-colonnes-intelligentes-avec-du-css-jquery/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 10:05:45 +0000</pubDate>
		<dc:creator>arnaud</dc:creator>
				<category><![CDATA[HTML / CSS]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://blog.arnaud-k.fr/?p=1009</guid>
		<description><![CDATA[Tutorial pour JQuery vu ce matin sur le blog sohtanaka.com. Le tutorial propose une manière de créer des colonnes &#171;&#160;intelligents&#160;&#187; avec JQuery &#38; CSS. Le CSS permet ici de gérer l&#8217;affichage des colonnes par défaut, de définir leur taille, les&#160;[...]</p> <p class="read-more"><a class="gray normal" href="http://blog.arnaud-k.fr/2009/07/27/faire-des-colonnes-intelligentes-avec-du-css-jquery/">Lire la suite&#160;&#62;&#62;</a></p>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.arnaud-k.fr%2F2009%2F07%2F27%2Ffaire-des-colonnes-intelligentes-avec-du-css-jquery%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.arnaud-k.fr%2F2009%2F07%2F27%2Ffaire-des-colonnes-intelligentes-avec-du-css-jquery%2F&amp;source=arnaudk&amp;style=compact&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="aligncenter size-full wp-image-1010" title="jquery-colonnes" src="http://blog.arnaud-k.fr/wp-content/uploads/2009/07/jquery-colonnes.png" alt="jquery-colonnes" width="600" height="200" /></p>
<p><strong>Tutorial pour JQuery vu ce matin</strong> sur le blog <a href="http://www.sohtanaka.com/web-design/smart-columns-w-css-jquery/">sohtanaka.com</a>. Le tutorial propose une manière de créer des colonnes &laquo;&nbsp;intelligents&nbsp;&raquo; avec JQuery &amp; CSS.</p>
<p>Le CSS permet ici de gérer l&#8217;affichage des colonnes par défaut, de définir leur taille, les marges entre les colonnes&#8230; Et le JQuery permet de <strong>répartir les colonnes s&#8217;il reste de l&#8217;espace</strong> sur le côté, de <strong>gérer dynamiquement l&#8217;affichage</strong> (si la taille de la fenêtre est modifiée).</p>
<p><strong>Tout le code nécessaire est donné</strong> dans le <a href="http://www.sohtanaka.com/web-design/smart-columns-w-css-jquery/">tutorial</a>. Il peut permettre un bon gain de temps, plus besoin de calculer la taille au pixel entre les colonnes, les marges, les paddings et le conteneur ! <img src='http://blog.arnaud-k.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>


<p>Pas encore de billet sur le même sujet !</p>]]></content:encoded>
			<wfw:commentRss>http://blog.arnaud-k.fr/2009/07/27/faire-des-colonnes-intelligentes-avec-du-css-jquery/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Tutorial JQuery : galerie photo avec JCarousel et Lightbox</title>
		<link>http://blog.arnaud-k.fr/2009/07/23/tutorial-jquery-galerie-photo-avec-jcarousel-et-lightbox/</link>
		<comments>http://blog.arnaud-k.fr/2009/07/23/tutorial-jquery-galerie-photo-avec-jcarousel-et-lightbox/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 12:20:55 +0000</pubDate>
		<dc:creator>arnaud</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[plugin JQuery]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://blog.arnaud-k.fr/?p=938</guid>
		<description><![CDATA[Pour le retour des tutoriels JQuery pour l&#8217;utilisation de plugins, je propose aujourd&#8217;hui de coupler 2 plugins (JCarousel et Lytebox) pour faire une petite galerie photo. Lytebox n&#8217;est pas à proprement parler un plugin JQuery, il est totalement indépendant du&#160;[...]</p> <p class="read-more"><a class="gray normal" href="http://blog.arnaud-k.fr/2009/07/23/tutorial-jquery-galerie-photo-avec-jcarousel-et-lightbox/">Lire la suite&#160;&#62;&#62;</a></p>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.arnaud-k.fr%2F2009%2F07%2F23%2Ftutorial-jquery-galerie-photo-avec-jcarousel-et-lightbox%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.arnaud-k.fr%2F2009%2F07%2F23%2Ftutorial-jquery-galerie-photo-avec-jcarousel-et-lightbox%2F&amp;source=arnaudk&amp;style=compact&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="aligncenter size-full wp-image-939" title="JCarousel" src="http://blog.arnaud-k.fr/wp-content/uploads/2009/07/JCarousel.png" alt="JCarousel" width="600" height="200" /></p>
<p><strong>Pour le retour des tutoriels JQuery pour l&#8217;utilisation de plugins</strong>, je propose aujourd&#8217;hui de coupler 2 plugins (<a href="http://sorgalla.com/jcarousel/">JCarousel</a> et <a href="http://www.dolem.com/lytebox/">Lytebox</a>) pour faire une petite galerie photo.</p>
<p>Lytebox n&#8217;est pas à proprement parler un plugin JQuery, il est totalement indépendant du framework. Il permet d&#8217;afficher les photos en grand format à l&#8217;écran, devant le contenu du reste du site.</p>
<p><a class="demo" href="http://blog.arnaud-k.fr/demos/jcarousel/">Voir la démo de Tutorial JQuery : galerie photo avec JCarousel et Lightbox</a></p>
<p>Après avoir télécharger les 2 plugins, il faut les importer dans la page HTML où tu souhaites créer ta galerie photo :</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">link</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;css/jquery.jcarousel.css&quot;</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;stylesheet&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/css&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">link</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;css/lytebox.css&quot;</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;stylesheet&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/css&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
&nbsp;
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;js/jquery.jcarousel.pack.js&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;js/lytebox.js&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span></pre></td></tr></table></div>

<p>Le deux premières lignes permettent d&#8217;importer les 2 feuilles de style des plugins, chacune étant nécessaire au bon fonctionnement des plugins. On pourrait les fusionner dans un seul fichier pour optimiser le temps de chargement de la page, mais dans un soucis de clarté je les ai laisser séparé. Les lignes 4 à 6 permettent d&#8217;importer tout d&#8217;abord JQuery, le plugins JQuery JCarousel et enfin Lytebox.</p>
<p><strong>Il faut ensuite préparer le code HTML pour permettre l&#8217;affichage du caroussel de photos </strong>(en miniature). Pour que le plugin JCarousel fonctionne, il faut créer une liste non-ordonnée (&gt;ul&lt;) avec pour chaque élément (&ht;li&lt;) une image. Enfin pour permettre l&#8217;agrandissement des photos avec Lytebox, j&#8217;ai crée un lien sur les miniatures pointant vers l&#8217;adresse de la grande photo correspondante. Il faut aussi ajouter l&#8217;attribut &laquo;&nbsp;rel&nbsp;&raquo; (avec la valeur &laquo;&nbsp;lyteshow&nbsp;&raquo; pour lance un diaporama) sur les liens pour que le lien fonctionne avec la Lytebox.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">ul</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;jcarousel-skin-tango&quot;</span>&gt;</span> <span style="color: #808080; font-style: italic;">&lt;!-- la classe correspond au skin choisi pour le plugin JCarousel --&gt;</span>	
&nbsp;
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;</span><span style="color: #808080; font-style: italic;">&lt;!-- on créé un élément de la liste --&gt;</span>
                <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/1-2.jpg&quot;</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;lyteshow&quot;</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span>&gt;</span><span style="color: #808080; font-style: italic;">&lt;!-- lien pointant vers la photo en gran format, ajouter une valeur à l'attribut title pour afficher une légende --&gt;</span>
                     <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/1.jpg&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span><span style="color: #808080; font-style: italic;">&lt;!-- on affiche la miniature --&gt;</span>
                <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span><span style="color: #808080; font-style: italic;">&lt;!-- on ferme le lien ;) --&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span><span style="color: #808080; font-style: italic;">&lt;!-- on ferme l'élément de liste pour en ouvrir d'autres après --&gt;</span>		
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/2-2.jpg&quot;</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;lyteshow&quot;</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/2.jpg&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>								
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/3-2.jpg&quot;</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;lyteshow&quot;</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/3.jpg&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>								
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/4-2.jpg&quot;</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;lyteshow&quot;</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/4.jpg&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>								
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/5-2.jpg&quot;</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;lyteshow&quot;</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/5.jpg&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>								
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/6-2.jpg&quot;</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;lyteshow&quot;</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/6.jpg&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>								
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/7-2.jpg&quot;</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;lyteshow&quot;</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/7.jpg&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>								
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/8-2.jpg&quot;</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;lyteshow&quot;</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/8.jpg&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>								
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/9-2.jpg&quot;</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;lyteshow&quot;</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/9.jpg&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>								
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/10-2.jpg&quot;</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;lyteshow&quot;</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/10.jpg&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>									
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/11-2.jpg&quot;</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;lyteshow&quot;</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/11.jpg&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>							
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/12-2.jpg&quot;</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;lyteshow&quot;</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/12.jpg&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>				
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/13-2.jpg&quot;</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;lyteshow&quot;</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/13.jpg&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
&nbsp;
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">ul</span>&gt;</span></pre></td></tr></table></div>

<p><strong>On peut bien sûr personnaliser l&#8217;affichage en modifiant les fichiers CSS des deux plugins</strong>. Il est bien entendu nécessaire de modifier le CSS du plugin JCarousel si tu as des miniatures qui ont un autre format, mais le plugin fonctionne mieux avec des images carrées (ou juste l&#8217;élément du liste avec un &laquo;&nbsp;overflow:hidden&nbsp;&raquo;). Pour comprendre les modifications, je te conseille de partir des exemples donnés avec le plugin JQuery JCarousel ou partir de mon exemple disponible en <a href="http://blog.arnaud-k.fr/demos/jcarousel/jcarousel.zip">téléchargement ici</a>.</p>


<p>Pas encore de billet sur le même sujet !</p>]]></content:encoded>
			<wfw:commentRss>http://blog.arnaud-k.fr/2009/07/23/tutorial-jquery-galerie-photo-avec-jcarousel-et-lightbox/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Découvrez JQuery, amusons-nous avec les sélecteurs [2/7]</title>
		<link>http://blog.arnaud-k.fr/2009/07/21/decouvrez-jquery-amusons-nous-avec-les-selecteurs-27/</link>
		<comments>http://blog.arnaud-k.fr/2009/07/21/decouvrez-jquery-amusons-nous-avec-les-selecteurs-27/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 08:49:41 +0000</pubDate>
		<dc:creator>arnaud</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://blog.arnaud-k.fr/?p=893</guid>
		<description><![CDATA[Série de tutoriels sur JQuery que je continue ici. L’idée est de commencer de zéro (les premiers tutoriels ne sont donc pas adaptés aux connaisseurs de JQuery). Je vais essayer de faire connaître un peu mieux cette librairie aux non-initiés&#160;[...]</p> <p class="read-more"><a class="gray normal" href="http://blog.arnaud-k.fr/2009/07/21/decouvrez-jquery-amusons-nous-avec-les-selecteurs-27/">Lire la suite&#160;&#62;&#62;</a></p>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.arnaud-k.fr%2F2009%2F07%2F21%2Fdecouvrez-jquery-amusons-nous-avec-les-selecteurs-27%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.arnaud-k.fr%2F2009%2F07%2F21%2Fdecouvrez-jquery-amusons-nous-avec-les-selecteurs-27%2F&amp;source=arnaudk&amp;style=compact&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><em><span style="color: #888888;">Série de tutoriels sur JQuery que je continue ici. L’idée est de commencer de zéro (les premiers tutoriels ne sont donc pas adaptés aux connaisseurs de JQuery). Je vais essayer de faire connaître un peu mieux cette librairie aux non-initiés !</span><span style="color: #888888;"><br />
</span></em></p>
<h4><em><span style="color: #888888;">J’ai découpé cette série en 7 épisodes, la difficulté devrait aller crescendo !</span></em></h4>
<p><em><span style="color: #888888;">Retrouve le premier tutorial : <a href="http://blog.arnaud-k.fr/2009/developpement-web/decouvrir-jquery-installation-et-hello-world-17/">installation et Hello World !</a><br />
</span></em></p>
<p><em><span style="color: #888888;">——————- </span></em></p>
<p><span style="color: #888888;"><span style="color: #000000;">Pour le deuxième tutorial de la <strong>série &laquo;&nbsp;découvrez JQuery&nbsp;&raquo;</strong>, je vais parler des <strong>sélecteurs disponibles dans JQuery</strong>. En effet pour faire des animations de la mort qui tue, il faut pouvoir sélectionner et pointer les bons éléments. </span></span></p>
<p><span style="color: #888888;"><span style="color: #000000;"><img class="aligncenter size-full wp-image-899" title="tuto-jquery-2/7" src="http://blog.arnaud-k.fr/wp-content/uploads/2009/07/tuto-jquery-2.png" alt="tuto-jquery-2/7" width="600" height="200" /><br />
</span></span></p>
<p><span style="color: #888888;"><span style="color: #000000;">Et c&#8217;est déjà que l&#8217;on peut voir la puissance de JQuery, plein de type de sélecteurs différents existent. Comme tu as pu le voir avec le premier tutorial JQuery, <strong>les sélecteurs ressemble au premier abord à des sélecteurs CSS</strong>.</span></span></p>
<p><span style="color: #888888;"><span style="color: #000000;">Par exemple, pour sélectionner un lien possédant un id (et pour détecter le click sur ce lien) il suffit de faire :</span></span></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#idDuLien&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
       <span style="color: #006600; font-style: italic;">// code à exécuter au click sur le lien ayant pour id &quot;idDuLien&quot; ( &lt;a href=&quot;url-du-lien.html&quot; id=&quot;idDuLien&quot;&gt;Lien&lt;/a&gt; )</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p><span style="color: #888888;"><span style="color: #000000;">Ensuite avec du contenu dynamique (généré, par exemple, en PHP) on n&#8217;a pas forcément des id partout. Les sélecteurs marchent également avec les classes (il suffit de remplacer le # par un .). Pour les exemples qui suivent, on va se mettre dans le cas d&#8217;une liste d&#8217;éléments ayant tous la même classe.</span></span></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;bloc&quot;</span>&gt;</span>
     Honoratis nullum adhibens modum nec licentia licentia disseminata adhibens modum iam vexabat iam honoratis vexabat.
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
&nbsp;
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;bloc&quot;</span>&gt;</span>
     Nosmet amicitia amicum erga amicis termini se De termini tanti sunt fiat erga quanti amicis ipse in se ut pariter.
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
&nbsp;
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;bloc&quot;</span>&gt;</span>
     Suspicionum blanditiae simulantium ubi suspicionum exclamabant salute asperitati amplitudo eius vocibus dicebatur vel proximorum amplitudo imperii statum 
     proximorum statum asperitati si statum exclamabant cruentae ubi laesa enim et dolere laesa.
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></td></tr></table></div>

<p><span style="color: #888888;"><span style="color: #000000;">Pour le premier cas, on ne veut sélectionner que le premier élément, pour cela pas besoin de se prendre la tête, il suffit de faire son sélecteur sur la classe comme d&#8217;habitude et ajouter &laquo;&nbsp;:first&nbsp;&raquo;, comme ceci :</span></span></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;div.bloc:first&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">mouseover</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
       <span style="color: #006600; font-style: italic;">// code à exécuter au survol du premier bloc ayant pour class &quot;bloc&quot;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p><span style="color: #888888;"><span style="color: #000000;">Il existe plusieurs sélecteurs de ce type, voici quelques exemples :</span></span></p>
<ul>
<li><span style="color: #888888;"><span style="color: #000000;"><strong>:first</strong> &#8211; pour sélectionner le premier élément.</span></span></li>
<li><span style="color: #888888;"><span style="color: #000000;"><strong>:last</strong> &#8211; pour sélectionner le dernier élément.</span></span></li>
<li><span style="color: #888888;"><span style="color: #000000;"><strong>:nth-child(5)</strong> : pour sélection le 5ème élément (bien entendu tu peux mettre le nombre que tu souhaites !).<br />
</span></span></li>
<li><span style="color: #888888;"><span style="color: #000000;"><strong>:even</strong> &#8211; pour sélectionner les éléments pairs à partir de zéro. C&#8217;est-à-dire le 0ème, le 2ème, le 4ème&#8230; Idéal pour coloriser une ligne sur deux d&#8217;un tableau.</span></span></li>
<li><span style="color: #888888;"><span style="color: #000000;"><strong>: odd</strong> &#8211; pour sélectionner les éléments impairs.</span></span></li>
<li><span style="color: #888888;"><span style="color: #000000;"><strong>:visible</strong> &#8211; pour sélectionner les éléments visibles qui ne sont pas en &laquo;&nbsp;display:none&nbsp;&raquo;, en &laquo;&nbsp;opacity:0&#8243; ou en &laquo;&nbsp;visibility:hidden&nbsp;&raquo;.</span></span></li>
<li><span style="color: #888888;"><span style="color: #000000;"><strong>:hidden</strong> &#8211; pour sélectionner les éléments non-visibles.</span></span></li>
<li><span style="color: #888888;"><span style="color: #000000;"><strong>:contains(texte)</strong> &#8211; pour sélectionner les éléments qui contiennent le texte passé en paramètre (attention cette fonction peut être gourmande en ressource).</span></span></li>
<li><span style="color: #888888;"><span style="color: #000000;"><strong>:checked</strong> &#8211; pour sélectionner seulement les élément coché (pour les checkbox)</span></span></li>
</ul>
<p><span style="color: #888888;"><span style="color: #000000;">Déjà avec ces différents sélecteurs, il y a de quoi s&#8217;amuser ! Après on peut également préciser le sélecteur en <strong>fonction de la valeur d&#8217;un attribut</strong>. Cela peut être utile pour sélectionner un input en fonction de son attribut &laquo;&nbsp;name&nbsp;&raquo; :</span></span></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;input[name=prenom]&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">mouseover</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
       <span style="color: #006600; font-style: italic;">// code à exécuter au survol du champ de texte ayant l'attribut name égal à &quot;prenom&quot;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p><span style="color: #888888;"><span style="color: #000000;">On peut  utiliser des jokers pour le test :</span></span></p>
<ul>
<li><span style="color: #888888;"><span style="color: #000000;"><strong>[name^=val]</strong> : la valeur de l&#8217;attribut name doit commencer par &laquo;&nbsp;val&nbsp;&raquo;. Par exemple : &laquo;&nbsp;valeur&nbsp;&raquo;.</span></span></li>
<li><span style="color: #888888;"><span style="color: #000000;"><strong>[name$=val]</strong> : la valeur de l&#8217;attribut name doit finir par &laquo;&nbsp;val&nbsp;&raquo;. Par exemple : &laquo;&nbsp;laval&nbsp;&raquo;.</span></span></li>
<li><span style="color: #888888;"><span style="color: #000000;"><strong>[name*=val]</strong> : la valeur de l&#8217;attribut name doit contenir &laquo;&nbsp;val&nbsp;&raquo;. Par exemple : &laquo;&nbsp;avaliser&nbsp;&raquo;.</span></span></li>
</ul>
<p style="margin-bottom:15px">Il existe d&#8217;autres façons encore de préciser les sélecteurs avec JQuery. Mais il y a déjà de quoi faire avec ce qu&#8217;on vient de voir. Pour plus de détails sur les sélecteurs, je t&#8217;invite à aller faire un tour sur la <a href="http://jquery.developpeur-web2.com/documentation/selecteurs.php">documentation JQuery</a> sur les sélecteurs (en français). Ramassage des copies dans 5 minutes <img src='http://blog.arnaud-k.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />
</p>
<p>Pour le prochain tutorial de la série (qui devrait être en fin de semaine ou en début de semaine prochaine), je développerai <strong>les différents événements</strong> qui existent et on pourra par la suite commencer à faire nos premières animations avec JQuery !</p>


<p>Pas encore de billet sur le même sujet !</p>]]></content:encoded>
			<wfw:commentRss>http://blog.arnaud-k.fr/2009/07/21/decouvrez-jquery-amusons-nous-avec-les-selecteurs-27/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Découvrir JQuery, installation et &#171;&#160;Hello World&#160;&#187; [1/7]</title>
		<link>http://blog.arnaud-k.fr/2009/07/07/decouvrir-jquery-installation-et-hello-world-17/</link>
		<comments>http://blog.arnaud-k.fr/2009/07/07/decouvrir-jquery-installation-et-hello-world-17/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 06:59:13 +0000</pubDate>
		<dc:creator>arnaud</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://blog.arnaud-k.fr/?p=718</guid>
		<description><![CDATA[Série de tutoriels sur JQuery que je commence ici. L&#8217;idée de de commencer de zéro (donc si tu connais un peu JQuery, ce premier tutoriel sera inutile pour toi). Je vais essayer de faire connaître un peu mieux cette librairie&#160;[...]</p> <p class="read-more"><a class="gray normal" href="http://blog.arnaud-k.fr/2009/07/07/decouvrir-jquery-installation-et-hello-world-17/">Lire la suite&#160;&#62;&#62;</a></p>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.arnaud-k.fr%2F2009%2F07%2F07%2Fdecouvrir-jquery-installation-et-hello-world-17%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.arnaud-k.fr%2F2009%2F07%2F07%2Fdecouvrir-jquery-installation-et-hello-world-17%2F&amp;source=arnaudk&amp;style=compact&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<h3><em><span style="color: #888888;">Série de tutoriels sur JQuery que je commence ici. L&#8217;idée de de commencer de zéro (donc si tu connais un peu JQuery, ce premier tutoriel sera inutile pour toi). Je vais essayer de faire connaître un peu mieux cette librairie aux non-initiés !</span><span style="color: #888888;"><br />
</span></em></p>
<h4><em><span style="color: #888888;">J&#8217;ai découpé cette série en 7 épisodes, la difficulté devrait aller crescendo !</span></em></h4>
</h3>
<p><em><span style="color: #888888;">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- </span></em></p>
<p>JQuery est un framework JavaScript. C&#8217;est-à-dire un ensemble de bibliothèques JavaScript. Il propose tout un environnement pour faire du JavaScript le plus simplement possible et le plus rapidement possible. Ce n&#8217;est pas pour rien si la devise de JQuery est :</p>
<h3 style="text-align: center; color:#ffa800">&laquo;&nbsp;Write less, do more.&nbsp;&raquo;</h3>
<p>en français : &laquo;&nbsp;Ecrivez moins, faîtes-en plus.&nbsp;&raquo;</p>
<p>JQuery en est actuellement à la version 1.3.2. Il est disponible en téléchargement sur le groupe <a href="http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.3.2.min.js&amp;downloadBtn=">code.google de JQuery</a>. La version minifiée (minified en anglais) ne fait que 55 Kio et se présente sous la forme d&#8217;un simple fichier JavaScript.</p>
<p><img class="aligncenter size-full wp-image-726" title="Tutorial JQuery : une semaine pour découvrir JQuery 1/7" src="http://blog.arnaud-k.fr/wp-content/uploads/2009/06/semaine-jquery-1.png" alt="Tutorial JQuery : une semaine pour découvrir JQuery 1/7" /></p>
<p>Commençons par le commencement. Pour l&#8217;installer, il faut au préalable <strong>télécharger JQuery puis l&#8217;uploader</strong> sur le serveur de ton site. Ensuite, il suffit tout simplement d&#8217;importer le fichier JavaScript comme tu le ferais pour un fichier JavaScript quelconque. Le code suivant est à placer entre les balises &lt;head&gt; et &lt;/head&gt; de la page (dans le cas où le fichier se trouve dans un dossier nommé &laquo;&nbsp;js&nbsp;&raquo;) :</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;js/jquery.1-3-2.js&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span></pre></div></div>

<p style="margin-top:35px">Voilà JQuery est installé !</p>
<p>Ensuite <strong>le code JavaScript que l&#8217;on va rédiger est à insérer dans un fichier JavaScript comme n&#8217;importe quel fichier</strong> (ou insérer le code directement dans le fichier html, je ne traiterai pas cette méthode ici). Il faut donc également importer ce second fichier JavaScript (contenu également dans le dossier &laquo;&nbsp;js&nbsp;&raquo; et nommé &laquo;&nbsp;script.js&nbsp;&raquo;) dans la page que tu souhaites. Il faut bien faire attention à l&#8217;ordre et bien penser à charger le framework avant les scripts perso.</p>
<p>On se retrouve donc avec ces deux lignes dans la page html :</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;js/jquery.1-3-2.js&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;js/script.js&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span></pre></div></div>

<p style="margin-top:35px">La première chose que l&#8217;on va faire, c&#8217;est afficher un message d&#8217;alerte sur au clic sur un lien. On va donc ajouter le lien dans la page html. Il faut bien penser à mettre un id ou une classe sur ce lien pour pouvoir le distinguer des autres liens éventuellement présents sur la page :</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;monLien&quot;</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://blog.arnaud-k.fr&quot;</span>&gt;</span>Lien vers mon blog<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span></pre></div></div>

<p style="margin-top:35px">Nous allons donc enfin utiliser JQuery ! Le code qui suit sera donc à mettre dans le fichier script.js.<br />
En JavaScript pur, pour ajouter l&#8217;événement il aurait fallu ajouter l&#8217;attribut &laquo;&nbsp;onclick&nbsp;&raquo; directement dans la balise html. Avec JQuery, <strong>la logique est différente, tout va se passer dans le fichier script.js</strong>.</p>
<p>La première chose à faire est de dire à JQuery d&#8217;<strong>exécuter le code que quand le DOM (la structure de la page) est entièrement chargé</strong>. Dans le cas contraire, il peut se produire des erreurs si on essaie d&#8217;atteindre un élément qui n&#8217;a pas encore été chargé. C&#8217;est l&#8217;équivalent de l&#8217;attribut &laquo;&nbsp;onload&nbsp;&raquo; qui était placé dans le code de la balise . Au final, on retrouvera le petit bout de code qui suit dans tous les fichiers de scripts qui utiliseront JQuery :</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                   <span style="color: #006600; font-style: italic;">// code JQuery à exécuter quand la page est chargé</span>
                   <span style="color: #006600; font-style: italic;">// encore plus de code...</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p style="margin-top:35px">On va donc devoir détecter si le lien ayant pour id &laquo;&nbsp;monLien&nbsp;&raquo; a été cliqué. Avec JQuery, toutes les fonctions JavaScript natives ayant des noms à rallonge telles window.document.getElementById deviennent inutiles. Maintenant pour sélectionner un élément, on utilise <strong>la fonction &laquo;&nbsp;$&nbsp;&raquo; qui prend en paramètre un sélecteur</strong> (voir le tutoriel qui va suivre sur les différents types de sélecteurs). Les sélecteurs de type CSS peuvent aussi être utilisés.</p>
<p>Pour détecter un clic, on utilise l&#8217;événement &laquo;&nbsp;click&nbsp;&raquo;. Tu auras forcément remarqué que l&#8217;intitulé de l&#8217;événement a changé par rapport au JavaScript pur (&laquo;&nbsp;onclick&nbsp;&raquo;). On se retrouve donc avec ceci dans le fichier script.js :</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                  $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;a#monLien&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #006600; font-style: italic;">// si le lien ayant pour id &quot;monLien&quot; est cliqué, on exécute le code à la suite</span>
                               <span style="color: #006600; font-style: italic;">// code à exécuter quand le lien est cliqué</span>
                               <span style="color: #006600; font-style: italic;">// encore du code à exécuté le lien est cliqué</span>
                  <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p style="margin-top:35px">Si la logique de ce code est comprise, je pense que c&#8217;est gagné ! <img src='http://blog.arnaud-k.fr/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  . Tous les événements se passe ainsi (avec juste le sélecteur ou le nom de l&#8217;événement qui change).</p>
<p>Une fois le lien cliqué, on va afficher une simple boîte d&#8217;alerte (la fonction alert() en JavaScript) pour voir si le code est bien exécuté au clic sur le lien :</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                  $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;a#monLien&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #006600; font-style: italic;">// si le lien ayant pour id &quot;monLien&quot; est cliqué, on exécute le code à la suite</span>
                               <span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Hello World&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                  <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p style="margin-top:35px">Comme tu as pu le constater, c&#8217;est maintenant un mélange de JQuery et de fonction JavaScript normal, tout ceci fonctionne parfaitement car c&#8217;est le même langage de programmation, JQuery n&#8217;étant qu&#8217;un framework JQuery !</p>
<p>Voilà, je pense que c&#8217;est déjà pas mal pour le premier jour de JQuery même s&#8217;il y a encore du boulot ! <img src='http://blog.arnaud-k.fr/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  . <strong>Dans le prochain épisode, on va aller un peu plus loin avec les sélecteurs et commencer à manipuler le DOM</strong> <img src='http://blog.arnaud-k.fr/wp-includes/images/smilies/icon_eek.gif' alt='8O' class='wp-smiley' /> </p>


<p>Pas encore de billet sur le même sujet !</p>]]></content:encoded>
			<wfw:commentRss>http://blog.arnaud-k.fr/2009/07/07/decouvrir-jquery-installation-et-hello-world-17/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>JQuery : ajouter automatiquement les favicons sur les liens externes</title>
		<link>http://blog.arnaud-k.fr/2009/06/24/jquery-ajouter-automatiquement-les-favicons-sur-les-liens-externes/</link>
		<comments>http://blog.arnaud-k.fr/2009/06/24/jquery-ajouter-automatiquement-les-favicons-sur-les-liens-externes/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 14:04:57 +0000</pubDate>
		<dc:creator>arnaud</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[favicon]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://blog.arnaud-k.fr/?p=756</guid>
		<description><![CDATA[Petite astuce toute simple pour faire apparaître facilement le favicon sur tous les liens externes présent sur la page. Le code JQuery onstruit simplement l&#8217;URL de l&#8217;icone (de type http://www.example.com/favicon.ico) et l&#8217;affiche à côté du lien. Pour que l&#8217;affichage fonctionne,&#160;[...]</p> <p class="read-more"><a class="gray normal" href="http://blog.arnaud-k.fr/2009/06/24/jquery-ajouter-automatiquement-les-favicons-sur-les-liens-externes/">Lire la suite&#160;&#62;&#62;</a></p>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.arnaud-k.fr%2F2009%2F06%2F24%2Fjquery-ajouter-automatiquement-les-favicons-sur-les-liens-externes%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.arnaud-k.fr%2F2009%2F06%2F24%2Fjquery-ajouter-automatiquement-les-favicons-sur-les-liens-externes%2F&amp;source=arnaudk&amp;style=compact&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="aligncenter size-full wp-image-757" title="JQuery  : favicon automatique sur les liens externes" src="http://blog.arnaud-k.fr/wp-content/uploads/2009/06/favicon.png" alt="JQuery : favicon automatique sur les liens externes" /></p>
<p>Petite astuce toute simple pour faire apparaître facilement le favicon sur tous les liens externes présent sur la page.</p>
<p>Le code JQuery onstruit simplement l&#8217;URL de l&#8217;icone (de type http://www.example.com/favicon.ico) et l&#8217;affiche à côté du lien. Pour que l&#8217;affichage fonctionne, il faut absolument que le site en question est un favicon nommé favicon.ico à la racine du site (en théorie sur tous les sites possédant un favicon, si ceux-ci sont bien faits !). L&#8217;affichage se fait ensuite facilement : il faut définir le fond du lien et préparer la class CSS définissant le padding et empêchant le fond de se répéter.</p>
<p><a class="demo" title="JQuery : ajouter automatiquement les favicons sur les liens externes" href="http://blog.arnaud-k.fr/favicons/">JQuery favicon</a></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span> <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	jQuery<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'a[href^=&quot;http://&quot;]'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">filter</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> <span style="color: #006600; font-style: italic;">// on détecte tous les liens ayant l'attribut href commençant par http://</span>
     	<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">hostname</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">hostname</span> <span style="color: #339933;">!==</span> location.<span style="color: #660066;">hostname</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// il faut que le domaine soit différent du domaine du site (on veut traiter que les liens externes)</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #006600; font-style: italic;">// pour chacun des liens externes</span>
		<span style="color: #003366; font-weight: bold;">var</span> link <span style="color: #339933;">=</span> jQuery<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// on met les propriétés du lien dans une variable</span>
		<span style="color: #003366; font-weight: bold;">var</span> faviconURL <span style="color: #339933;">=</span> link.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'href'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">replace</span><span style="color: #009900;">&#40;</span><span style="color: #009966; font-style: italic;">/^(http:\/\/[^\/]+).*$/</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'$1'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #3366CC;">'/favicon.ico'</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// on construit  l'url du favicon (de type http://www.example.com/favicon.ico)</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">addClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;favicon&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;background-image&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;url(&quot;</span><span style="color: #339933;">+</span>faviconURL<span style="color: #339933;">+</span><span style="color: #3366CC;">&quot;)&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// on ajoute la class CSS &quot;favicon&quot; au lien (pour le padding par exemple) et on définit le fond du lien</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Et c&#8217;est tout <img src='http://blog.arnaud-k.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  !<br />
En exemple, je met également le code de la class CSS que j&#8217;ai utilisée pour la démo :</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">a<span style="color: #6666ff;">.favicon</span> <span style="color: #00AA00;">&#123;</span> 
        <span style="color: #000000; font-weight: bold;">padding-left</span><span style="color: #00AA00;">:</span><span style="color: #933;">20px</span><span style="color: #00AA00;">;</span> 
        <span style="color: #000000; font-weight: bold;">background-position</span><span style="color: #00AA00;">:</span><span style="color: #cc66cc;">0</span> <span style="color: #933;">50%</span><span style="color: #00AA00;">;</span> 
        <span style="color: #000000; font-weight: bold;">background-repeat</span><span style="color: #00AA00;">:</span><span style="color: #993333;">no-repeat</span><span style="color: #00AA00;">;</span> 
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>



<p>Pas encore de billet sur le même sujet !</p>]]></content:encoded>
			<wfw:commentRss>http://blog.arnaud-k.fr/2009/06/24/jquery-ajouter-automatiquement-les-favicons-sur-les-liens-externes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Tutoriel : utilisation de Gravatar en PHP</title>
		<link>http://blog.arnaud-k.fr/2009/06/17/tutoriel-utilisation-de-gravatar-en-php/</link>
		<comments>http://blog.arnaud-k.fr/2009/06/17/tutoriel-utilisation-de-gravatar-en-php/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 10:28:51 +0000</pubDate>
		<dc:creator>arnaud</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[gravatar]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://blog.arnaud-k.fr/?p=713</guid>
		<description><![CDATA[Pour le développement d&#8217;un site que j&#8217;ai en cours, j&#8217;ai dû intégrer directement les Gravatars aux membres postant des commentaires. J&#8217;ai été tout bonnement étonné de la simplicité à mettre en place en PHP. Tout ça est en complément de&#160;[...]</p> <p class="read-more"><a class="gray normal" href="http://blog.arnaud-k.fr/2009/06/17/tutoriel-utilisation-de-gravatar-en-php/">Lire la suite&#160;&#62;&#62;</a></p>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.arnaud-k.fr%2F2009%2F06%2F17%2Ftutoriel-utilisation-de-gravatar-en-php%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.arnaud-k.fr%2F2009%2F06%2F17%2Ftutoriel-utilisation-de-gravatar-en-php%2F&amp;source=arnaudk&amp;style=compact&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Pour le développement d&#8217;un site que j&#8217;ai en cours, j&#8217;ai dû intégrer directement les <a href="http://fr.gravatar.com">Gravatars</a> aux membres postant des commentaires. J&#8217;ai été tout bonnement <strong>étonné de la simplicité à mettre en place en PHP</strong>. Tout ça est en complément de tous les plugins et intégration native sur les CMS et plateformes de blog (Drupal, Joomla, Dotclear ou WordPress).</p>
<p><img class="aligncenter size-full wp-image-714" title="gravatar" src="http://blog.arnaud-k.fr/wp-content/uploads/2009/06/gravatar.png" alt="gravatar" /></p>
<p>Pour rappel, un Gravatar (Globally Recognized Avatar) est <strong>une image qui vous suit sur tous les sites</strong> qui proposent leur intégration. Par exemple sur le blogs WordPress, quand un commentaire est laché, l&#8217;adresse email est demandé et à partir de cet adresse email, Gravatar retourne l&#8217;avatar de l&#8217;utilisateur. C&#8217;est aussi simple que ça.</p>
<p>C&#8217;est parfaitement intégrable sur tous les sites. <strong>Aucune inscription n&#8217;est nécessaire</strong> !</p>
<p>Voici comment le mettre en place en PHP :</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$email</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;arnaud-k@machin.com&quot;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// l'adresse email de l'utilisateur</span>
<span style="color: #000088;">$default</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;http://www.machin.com/avatar-par-defaut.jpg&quot;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// l'url de l'image à afficher par défaut si l'utilisateur n'a pas de Gravatar</span>
<span style="color: #000088;">$size</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">40</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// la taille pour l'affichage du gravatar (celui-ci sera carré)</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// on construit ensuite l'url du Gravatar</span>
<span style="color: #000088;">$gravatar</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;http://www.gravatar.com/avatar.php?gravatar_id=&quot;</span><span style="color: #339933;">.</span><span style="color: #990000;">md5</span><span style="color: #009900;">&#40;</span> <span style="color: #990000;">strtolower</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$email</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;&amp;amp;default=&quot;</span><span style="color: #339933;">.</span><span style="color: #990000;">urlencode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$default</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;&amp;amp;size=&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$size</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p style="margin-top:30px">Il n&#8217;y a plus qu&#8217;à afficher le Gravatar en html :</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&lt;?php echo $gravatar ?/&gt;</span></span>&quot; alt=&quot;nom du membre&quot; /&gt;</pre></div></div>



<p>Pas encore de billet sur le même sujet !</p>]]></content:encoded>
			<wfw:commentRss>http://blog.arnaud-k.fr/2009/06/17/tutoriel-utilisation-de-gravatar-en-php/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Liens de la semaine #1 : tuto pour Adobe Illustrator</title>
		<link>http://blog.arnaud-k.fr/2009/04/03/liens-de-la-semaine-1-tuto-pour-adobe-illustrator/</link>
		<comments>http://blog.arnaud-k.fr/2009/04/03/liens-de-la-semaine-1-tuto-pour-adobe-illustrator/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 10:22:55 +0000</pubDate>
		<dc:creator>arnaud</dc:creator>
				<category><![CDATA[design]]></category>
		<category><![CDATA[illustrator]]></category>
		<category><![CDATA[liens de la semaine]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://blog.arnaud-k.fr/?p=102</guid>
		<description><![CDATA[Pour ce premier &#171;&#160;liens de la semaine&#160;&#187;, je te propose une petite sélection de tuto (souvent en anglais) pour Adobe Illustrator. - Dessiner un texte fun et qui accroche l&#8217;oeil (avec divers effet tels que les reflets sur les lettres).&#160;[...]</p> <p class="read-more"><a class="gray normal" href="http://blog.arnaud-k.fr/2009/04/03/liens-de-la-semaine-1-tuto-pour-adobe-illustrator/">Lire la suite&#160;&#62;&#62;</a></p>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.arnaud-k.fr%2F2009%2F04%2F03%2Fliens-de-la-semaine-1-tuto-pour-adobe-illustrator%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.arnaud-k.fr%2F2009%2F04%2F03%2Fliens-de-la-semaine-1-tuto-pour-adobe-illustrator%2F&amp;source=arnaudk&amp;style=compact&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Pour ce premier &laquo;&nbsp;liens de la semaine&nbsp;&raquo;, je te propose une petite sélection de tuto (souvent en anglais) pour Adobe Illustrator.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-103" style="border:1px solid #bbb;" title="tutoriel-illustrator" src="http://blog.arnaud-k.fr/wp-content/uploads/2009/04/tutoriel-illustrator.jpg" alt="tutoriel-illustrator" width="500" height="200" /></p>
<p>- <a href="http://www.layersmagazine.com/create-fun-eye-catching-text-with-adobe-illustrator.html">Dessiner un texte fun et qui accroche l&#8217;oeil</a> (avec divers effet tels que les reflets sur les lettres).</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-104" style="border: 1px solid #bbb;" title="watercolorriver" src="http://blog.arnaud-k.fr/wp-content/uploads/2009/04/step00_watercolorriver.png" alt="watercolorriver" width="600" height="200" /></p>
<p style="text-align: center;">
<p style="text-align: left;">- <a href="http://vector.tutsplus.com/tutorials/illustration/how-to-create-a-classic-vector-painting-with-watercolor-washes-and-line-art/">Dessiner une peinture vectoriel</a>, avec un effet d&#8217;aquarelle.</p>
<p style="text-align: left;"></p>
<p style="text-align: left;"><img class="aligncenter size-full wp-image-105" title="transfuchsianfinal" src="http://blog.arnaud-k.fr/wp-content/uploads/2009/04/transfuchsianfinal.jpg" alt="transfuchsianfinal" width="599" height="200" /></p>
<p style="text-align: left;">- <a href="http://transfuchsian.blogspot.com/2009/02/illustrator-vector-lighting-effect.html">Créer un effet lumineux et coloré</a>.</p>
<p style="text-align: left;">
<p style="text-align: left;">
<p style="text-align: left;">Que du bon pour s&#8217;occuper pendant le week-end!</p>
<p style="text-align: center;">


<p>Pas encore de billet sur le même sujet !</p>]]></content:encoded>
			<wfw:commentRss>http://blog.arnaud-k.fr/2009/04/03/liens-de-la-semaine-1-tuto-pour-adobe-illustrator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorial plugin JQuery #1 : galerie photo avec SpaceGallery</title>
		<link>http://blog.arnaud-k.fr/2009/04/02/tutorial-plugin-jquery-1-galerie-photo-avec-spacegallery/</link>
		<comments>http://blog.arnaud-k.fr/2009/04/02/tutorial-plugin-jquery-1-galerie-photo-avec-spacegallery/#comments</comments>
		<pubDate>Thu, 02 Apr 2009 12:24:04 +0000</pubDate>
		<dc:creator>arnaud</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[plugin JQuery]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://blog.arnaud-k.fr/?p=87</guid>
		<description><![CDATA[J&#8217;ai découvert cette galerie il y a peu. SpaceGallery (en anglais, créée par Eyecon) propose un bel effet de transition entre les photos. L&#8217;effet ressemble à l&#8217;effet utilisé par Mac dans le logiciel Time Machine. voir la demo du plugin&#160;[...]</p> <p class="read-more"><a class="gray normal" href="http://blog.arnaud-k.fr/2009/04/02/tutorial-plugin-jquery-1-galerie-photo-avec-spacegallery/">Lire la suite&#160;&#62;&#62;</a></p>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.arnaud-k.fr%2F2009%2F04%2F02%2Ftutorial-plugin-jquery-1-galerie-photo-avec-spacegallery%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.arnaud-k.fr%2F2009%2F04%2F02%2Ftutorial-plugin-jquery-1-galerie-photo-avec-spacegallery%2F&amp;source=arnaudk&amp;style=compact&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>J&#8217;ai découvert cette galerie il y a peu. <a href="http://www.eyecon.ro/spacegallery/">SpaceGallery</a> (en anglais, créée par <a href="http://www.eyecon.ro/">Eyecon</a>) propose un bel effet de transition entre les photos. L&#8217;effet ressemble à l&#8217;effet utilisé par Mac dans le logiciel <a href="http://www.apple.com/fr/macosx/features/timemachine.html">Time Machine</a>.</p>
<p><img class="aligncenter size-full wp-image-98" style="border:1px solid #bbb;" title="Tutorial plugin JQuery : SpaceGallery" src="http://blog.arnaud-k.fr/wp-content/uploads/2009/04/spacegallery.png" alt="Tutorial plugin JQuery : SpaceGallery" width="600" height="200" /></p>
<p><a href="http://blog.arnaud-k.fr/spaceGallery.html" class="demo" title="voir la demo du plugin JQuery Space Gallery">voir la demo du plugin JQuery Space Gallery</a></p>
<p>Le fonctionnement est assez simple si on respecte bien deux ou trois consignes :</p>
<p>Tout d&#8217;abord il faut charger le fichier CSS nécessaire au plugin :</p>
<p>et quelques instructions css sont également nécessaires (mais qu&#8217;il faudra adapter à la dimension de vos images) :</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #cc00cc;">#myGallery</span> <span style="color: #00AA00;">&#123;</span> <span style="color: #808080; font-style: italic;">/* bloc contenant la galerie */</span>
	<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">800px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span> <span style="color: #933;">650px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
<span style="color: #cc00cc;">#myGallery</span> img <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span> <span style="color: #933;">2px</span> <span style="color: #993333;">solid</span> <span style="color: #cc00cc;">#52697E</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
a<span style="color: #6666ff;">.loading</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#fff</span> <span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000; font-style: italic;">../images/ajax_small.gif</span><span style="color: #00AA00;">&#41;</span> <span style="color: #993333;">no-repeat</span> <span style="color: #993333;">center</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>Il faut ensuite charger JQuery et les fichiers JavaScript nécessaires au plugin. Il faut bien respecter l&#8217;ordre pour le chargement des fichiers :</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;jquery.js&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span>&gt;</span><span style="color: #808080; font-style: italic;">&lt;!--mce:0--&gt;</span><span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;eye.js&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span>&gt;</span><span style="color: #808080; font-style: italic;">&lt;!--mce:1--&gt;</span><span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;utils.js&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span>&gt;</span><span style="color: #808080; font-style: italic;">&lt;!--mce:2--&gt;</span><span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;spacegallery.js&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span>&gt;</span><span style="color: #808080; font-style: italic;">&lt;!--mce:3--&gt;</span><span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span></pre></div></div>

<p>Ensuite dans ton fichier JavaScript insère le code suivant :</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span> <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#myGallery'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">spacegallery</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>loadingClass<span style="color: #339933;">:</span> <span style="color: #3366CC;">'loading'</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Ce code initialise la galerie dans le bloc qui aura l&#8217;id &#8216;myGallery&#8217;. L&#8217;évènement .ready est la fonction de base de JQuery, elle permet l&#8217;exécution du script quand la page est complètement chargée.</p>
<p>Dans la page html4strict, on créé le bloc &#8216;myGallery&#8217; dans lequel on insère les images que l&#8217;on souhaite afficher dans la galerie :</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;myGallery&quot;</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;spacegallery&quot;</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;photosExemples/2.jpg&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;photosExemples/3.jpg&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;photosExemples/4.jpg&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;photosExemples/5.jpg&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;photosExemples/6.jpg&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;photosExemples/7.jpg&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;photosExemples/8.jpg&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;photosExemples/9.jpg&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;photosExemples/10.jpg&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

<p>Le plugin est téléchargeable sur <a href="http://www.eyecon.ro/spacegallery/spacegallery.zip">SpaceGallery</a>, le .zip contient tous les fichiers nécessaires avec un exemple.</p>


<p>Pas encore de billet sur le même sujet !</p>]]></content:encoded>
			<wfw:commentRss>http://blog.arnaud-k.fr/2009/04/02/tutorial-plugin-jquery-1-galerie-photo-avec-spacegallery/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

