<?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>DevBlog &#187; jquery</title>
	<atom:link href="http://www.devblog.fr/tag/jquery/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.devblog.fr</link>
	<description>Blog dédié aux langages web. Scripts et ressources pour webmaster.</description>
	<lastBuildDate>Thu, 02 Sep 2010 10:42:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Carrousel automatique avec JQuery</title>
		<link>http://www.devblog.fr/2010/07/27/carrousel-automatique-avec-jquery/</link>
		<comments>http://www.devblog.fr/2010/07/27/carrousel-automatique-avec-jquery/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 16:05:27 +0000</pubDate>
		<dc:creator>Virginie</dc:creator>
				<category><![CDATA[Non classé]]></category>
		<category><![CDATA[carrousel]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://www.devblog.fr/?p=272</guid>
		<description><![CDATA[Petit script de carrousel horizontal, avec défilement automatique, et témoins lumineux pour vous à quelle &#8220;page&#8221; du carroussel on est.
Très facile à customiser.
Voir la démo : carrousel automatique
1. Les inclusions

Inclure JQuery
Inclure carrousel.js
Inclure carrousel.css

2. Le html

&#60;!-- la classe doit être carrousel, l&#039;id est celui que vous voulez --&#62;
&#60;div class=&#34;carrousel&#34; id=&#34;mon-carrousel&#34;&#62;
&#60;!-- div obligatoire --&#62;
&#60;div class=&#34;interieur-carroussel&#34;&#62;
&#60;!-- div obligatoire [...]]]></description>
			<content:encoded><![CDATA[<p>Petit script de carrousel horizontal, avec défilement automatique, et témoins lumineux pour vous à quelle &#8220;page&#8221; du carroussel on est.<br />
Très facile à customiser.</p>
<p>Voir la démo : <a href="http://www.devblog.fr/demo/carrousel-automatique/">carrousel automatique</a><span id="more-272"></span></p>
<h2>1. Les inclusions</h2>
<ul>
<li>Inclure JQuery</li>
<li>Inclure <a href="http://www.devblog.fr/demo/carrousel-automatique/carrousel.js">carrousel.js</a></li>
<li>Inclure <a href="http://www.devblog.fr/demo/carrousel-automatique/carrousel.css">carrousel.css</a></li>
</ul>
<h2>2. Le html</h2>
<pre class="brush: html">
&lt;!-- la classe doit être carrousel, l&#039;id est celui que vous voulez --&gt;
&lt;div class=&quot;carrousel&quot; id=&quot;mon-carrousel&quot;&gt;
&lt;!-- div obligatoire --&gt;
&lt;div class=&quot;interieur-carroussel&quot;&gt;
&lt;!-- div obligatoire --&gt;
&lt;div class=&quot;items&quot;&gt;
&lt;!-- chaque élément doit être dans un div class item --&gt;
&lt;div class=&quot;item&quot;&gt;
&lt;img src=&quot;images/1.png&quot; alt=&quot;&quot; /&gt;
&lt;/div&gt;
&lt;div class=&quot;item&quot;&gt;
&lt;img src=&quot;images/6.png&quot; alt=&quot;&quot; /&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- div obligatoire (placement des témoins) --&gt;
&lt;div class=&quot;temoins&quot;&gt;&lt;/div&gt;
&lt;/div&gt;
</pre>
<h2>3. Personnalisation</h2>
<p>La feuille de style carrousel.css contient déjà tout ce qui est générique pour styler votre carrousel. Vous n’avez plus qu’à ajouter dans votre feuille de style les éléments de largeur et de hauteur propre à votre carrousel, en utilisant l’indentifiant de votre caroussel.</p>
<p>Voici les éléments que vous devez obligatoirement styler : (les nombres sont des exemples)</p>
<pre class="brush: css">
#mon-carrousel{
width:531px; /* la largeur totale du carrousel */
height:373px;	/* la hauteur totale du carrousel (prévoir la place pour le div.temoins) */
}

#mon-carrousel .interieur-carrousel
{
margin-left:0px; /* décalage entre le début du caroussel et l&#039;endroit où disparaissent les images */
margin-top:0px; /* décalage par rapport à en haut du carrousel */
width: 533px; /* la largeur de l&#039;interieur = (largeur d&#039;un item + margin right d&#039;un item)*(nombres d&#039;item étant apparants en même
temps) */
height:331px;	/* la hauteur d&#039;un item */
}

#mon-carrousel .item{
width:259px;	/* la largeur d&#039;un item */
margin-right:13px; /* son espacement éventuel par rapport à l&#039;item suivant */
height:331px; /* la hauteur d&#039;un item */
}
</pre>
<h2>4. Appeler le carrousel</h2>
<p>Dans un script externe ou dans carroussel.js, mettre</p>
<pre class="brush: javascript">
$(window).load(
function(){
carrousel(&#039;mon-carrousel&#039;,272,2,3000,1000,&#039;left&#039;,&#039;images/on.png&#039;,&#039;images/off.png&#039;);
}
);
</pre>
<p>La fonction carrousel prend comme arguments :</p>
<ul>
<li>l’id du carrousel à animer</li>
<li>la largeur à déplacer (largeur d’un item+son margin éventuel)</li>
<li>le nombre d’éléments par &#8220;page&#8221; (nombre d&#8217;éléments qui se déplacent à chaque itération)</li>
<li>la vitesse de déplacement (’slow’,&#8217;normal’,&#8217;fast’, ou un nombre de milli-secondes)</li>
<li>le temps de pause entre chaque itération (en milli-secondes)</li>
<li>le sens de départ du carrousel (laisser left)</li>
<li>le chemin de l&#8217;image représentant le témoin de page allumé</li>
<li>le chemin de l&#8217;image représentant le témoin de page éteint</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.devblog.fr/2010/07/27/carrousel-automatique-avec-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Carrousel horizontal avec JQuery</title>
		<link>http://www.devblog.fr/2010/01/26/carrousel-horizontal-avec-jquery/</link>
		<comments>http://www.devblog.fr/2010/01/26/carrousel-horizontal-avec-jquery/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 17:49:53 +0000</pubDate>
		<dc:creator>Virginie</dc:creator>
				<category><![CDATA[Non classé]]></category>
		<category><![CDATA[carrousel]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://www.devblog.fr/?p=228</guid>
		<description><![CDATA[Un caroussel horizontal qui peut faire défiler des images ou du html.
Plusieurs carrousels possibles sur la même page.
Très facile à customiser.

Voir la démo : carrousels horizontaux
1. Les inclusions
- Inclure JQuery
- Inclure carrousel.js
- Inclure carrousel.css
2. Le html

&#60;!-- la classe doit être carrousel, l&#039;id est celui que vous voulez --&#62;
&#60;div class=&#34;carrousel&#34; id=&#34;mon-carrousel&#34;&#62;

	&#60;!-- flèche pour la navigation --&#62;
	&#60;a [...]]]></description>
			<content:encoded><![CDATA[<p>Un caroussel horizontal qui peut faire défiler des images ou du html.<br />
Plusieurs carrousels possibles sur la même page.<br />
Très facile à customiser.<br />
<span id="more-228"></span></p>
<h3>Voir la démo :<a href="http://devblog.fr/demo/carrousel-horizontal/"> carrousels horizontaux</a></h3>
<h3>1. Les inclusions</h3>
<p>- Inclure JQuery<br />
- Inclure <a href="http://devblog.fr/demo/carrousel-horizontal/carrousel.js">carrousel.js</a><br />
- Inclure <a href="http://devblog.fr/demo/carrousel-horizontal/carrousel.css">carrousel.css</a></p>
<h3>2. Le html</h3>
<pre class="brush: html">
&lt;!-- la classe doit être carrousel, l&#039;id est celui que vous voulez --&gt;
&lt;div class=&quot;carrousel&quot; id=&quot;mon-carrousel&quot;&gt;

	&lt;!-- flèche pour la navigation --&gt;
	&lt;a href=&quot;#&quot; class=&quot;prev&quot;&gt;&amp;lt;&lt;/a&gt;

		&lt;!-- div obligatoire --&gt;
		&lt;div class=&quot;interieur-carrousel&quot;&gt;

			&lt;!-- div obligatoire --&gt;
			&lt;div class=&quot;items&quot;&gt;

				&lt;!-- chaque élément doit être dans un div class item --&gt;
				&lt;div class=&quot;item&quot;&gt;
					Du html, ça peut être du texte, une image...
				&lt;/div&gt;

				&lt;div class=&quot;item&quot;&gt;
					Autre séquence html, ça peut être du texte, une image...
				&lt;/div&gt;

			&lt;/div&gt;

		&lt;/div&gt;
		&lt;a href=&quot;#&quot; class=&quot;next&quot;&gt;&amp;gt;&lt;/a&gt;
	&lt;/div&gt;
&lt;/div&gt;
</pre>
<h3>3. Personnalisation</h3>
<p>La feuille de style carrousel.css contient déjà tout ce qui est générique pour styler votre carrousel. Vous n&#8217;avez plus qu&#8217;à ajouter dans votre feuille de style les éléments de largeur et de hauteur propre à votre carrousel, en utilisant l&#8217;indentifiant de votre caroussel.</p>
<p>Voici les éléments que vous devez obligatoirement styler : (les nombres sont des exemples)</p>
<pre class="brush: css">
#mon-carrousel{
	width:350px; /* la largeur totale du carrousel */
	height:190px;	/* la hauteur totale du carrousel */
}
#mon-carrousel .next
{
	right:15px; /* le positionnement de la flèche &quot;suivant&quot; par rapport à en haut à droite */
	top:90px;
}
#mon-carrousel .prev
{
	left:15px; /* le positionnement de la flèche &quot;précédente&quot; par rapport à en haut à gauche */
	top:90px;
}

#mon-carrousel .interieur-carrousel
{
	margin-left:70px; /* décalage entre le début du caroussel et l&#039;endroit où disparaissent les images */
	margin-top:17px; /* décalage par rapport à en haut du carrousel */
	width: 630px; /* la largeur de l&#039;interieur = (largeur d&#039;un item + margin right d&#039;un item)*(nombres d&#039;item étant apparants en même temps) */
	height:150px;	/* la hauteur d&#039;un item */
}

#mon-carrousel .item{
	width:200px;	/* la largeur d&#039;un item */
	margin-right:10px; /* son espacement éventuel par rapport à l&#039;item suivant */
}
</pre>
<p>Vous pouvez évidement styler d&#8217;avantage, mettre des background, etc. !</p>
<h3>4. Appeler le carrousel</h3>
<p>Dans un script externe ou dans carroussel.js, mettre</p>
<pre class="brush: javascript">
$(document).ready(

	function(){
		carrousel(&#039;mon-carrousel&#039;,560,1,3000);
	}
);
</pre>
<p>La fonction carrousel prend comme arguments :<br />
- l&#8217;id du carrousel à animer<br />
- la largeur à déplacer (largeur d&#8217;un item+son margin éventuel)<br />
- le nombre d&#8217;éléments étant apparents en même temps<br />
- la vitesse de déplacement (&#8217;slow&#8217;,'normal&#8217;,'fast&#8217;, ou un nombre de millisecondes)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devblog.fr/2010/01/26/carrousel-horizontal-avec-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Centrer un élément dans le &#8220;viewport&#8221; avec jQuery</title>
		<link>http://www.devblog.fr/2009/11/12/centrer-un-element-dans-le-viewport-avec-jquery/</link>
		<comments>http://www.devblog.fr/2009/11/12/centrer-un-element-dans-le-viewport-avec-jquery/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 14:45:06 +0000</pubDate>
		<dc:creator>Yann</dc:creator>
				<category><![CDATA[Non classé]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://www.devblog.fr/?p=159</guid>
		<description><![CDATA[Voici une petite fonction qui permet de centrer un élément dans une page Web ou, plus exactement, dans le &#8220;viewport&#8221;.
Mais qu&#8217;est-ce que c&#8217;est le &#8220;viewport&#8221; ? Il s&#8217;agit de la partie visible d&#8217;une page dans un navigateur.
Ainsi, quelle que soit la position de l&#8217;internaute dans la page, l&#8217;élément sera centré&#8230;
Voyons cette fonction&#8230;

function centerThis(element) {
	$(element).css({
		&#039;top&#039;: (($(window).height() [...]]]></description>
			<content:encoded><![CDATA[<p>Voici une petite fonction qui permet de centrer un élément dans une page Web ou, plus exactement, dans le &#8220;viewport&#8221;.<br/><br />
Mais qu&#8217;est-ce que c&#8217;est le &#8220;viewport&#8221; ? Il s&#8217;agit de la partie visible d&#8217;une page dans un navigateur.<br/><br />
Ainsi, quelle que soit la position de l&#8217;internaute dans la page, l&#8217;élément sera centré&#8230;<br/><br />
Voyons cette fonction&#8230;</p>
<pre class="brush: jscript">
function centerThis(element) {
	$(element).css({
		&#039;top&#039;: (($(window).height() - $(element).height()) / 2) + $(window).scrollTop(),
		&#039;left&#039;: (($(window).width() - $(element).width()) / 2) + $(window).scrollLeft()
	});
}
</pre>
<p>À utiliser comme ceci :</p>
<p><code>centerThis('#ZoomPhoto');</code></p>
<p><strong>Attention</strong>, cette fonction ne fait que déterminer la position de l&#8217;élément concerné. S&#8217;il est caché (display: none), n&#8217;oubliez pas de le montrer suite à l&#8217;appel de cette fonction&#8230;</p>
<p>Mais attendez&#8230; <em>&#8220;Houston ? We have a problem&#8230;&#8221;</em><br/><br />
En effet, pour l&#8217;instant, si le viewport est plus petit que l&#8217;élément à centrer, certaines parties de l&#8217;élément se retrouvent en dehors du viewport et ne sont donc pas visibles&#8230; C&#8217;est le genre de problème qui ne saute pas tout de suite aux yeux lorsque le bureau arbore fièrement un écran de 20 pouces et plus&#8230; <img src='http://www.devblog.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Corrigeons donc cette anomalie, pour le bien des mobinautes et de leurs écrans 7 pouces&#8230;</p>
<pre class="brush: jscript">
function centerThis(element) {
	var windowHeight = $(window).height();
	var windowWidth = $(window).width();
	var elementHeight = $(element).height();
	var elementWidth = $(element).width();

	var elementTop, elementLeft;

	if (windowHeight &lt;= elementHeight) {
		elementTop = $(window).scrollTop();
	} else {
		elementTop = ((windowHeight - elementHeight) / 2) + $(window).scrollTop();
	}

	if (windowWidth &lt;= elementWidth) {
		elementLeft = $(window).scrollLeft();
	} else {
		elementLeft = ((windowWidth - elementWidth) / 2) + $(window).scrollLeft();
	}

	$(element).css({
		&#039;top&#039;: elementTop,
		&#039;left&#039;: elementLeft
	});
}
</pre>
<p>Et voilà ! L&#8217;élément est centré, quelle que soit la taille du viewport&#8230;</p>
<p>Une dernière chose, ça fonctionne sous IE6&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devblog.fr/2009/11/12/centrer-un-element-dans-le-viewport-avec-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Créer un carrousel avec jquery pour vos diaporamas, fils infos, catalogue produits&#8230;</title>
		<link>http://www.devblog.fr/2009/06/23/creer-un-carrousel-avec-jquery-pour-vos-diaporamas-fils-infos-catalogue-produits/</link>
		<comments>http://www.devblog.fr/2009/06/23/creer-un-carrousel-avec-jquery-pour-vos-diaporamas-fils-infos-catalogue-produits/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 08:51:15 +0000</pubDate>
		<dc:creator>Benoit</dc:creator>
				<category><![CDATA[Une]]></category>
		<category><![CDATA[carrousel]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://www.devblog.fr/?p=6</guid>
		<description><![CDATA[Même s&#8217;il existe de nombreux scripts prêt à l&#8217;emploi, comme l&#8217;excellent jcaroussel, l&#8217;utilisation de ceux-ci dans un environnement spécifique s&#8217;avère parfois compliqué. L&#8217;imbrication du html et du javascript notamment, ne facilite pas en effet la personnalisation de l&#8217;objet et la prise en main de la CSS relève souvent de l&#8217;exploit.
Aussi, afin de mettre en place [...]]]></description>
			<content:encoded><![CDATA[<p>Même s&#8217;il existe de nombreux scripts prêt à l&#8217;emploi, comme l&#8217;excellent jcaroussel, l&#8217;utilisation de ceux-ci dans un environnement spécifique s&#8217;avère parfois compliqué. L&#8217;imbrication du html et du javascript notamment, ne facilite pas en effet la personnalisation de l&#8217;objet et la prise en main de la CSS relève souvent de l&#8217;exploit.</p>
<p>Aussi, afin de mettre en place quelque chose de plus personnel et de moins gourmand je vous propose d&#8217;apprendre à réaliser simplement votre propre carrousel à l&#8217;aide de jquery.</p>
<p><strong>Un carrousel, à quoi ça sert ?</strong></p>
<p>L&#8217;objectif de ce script consiste à afficher sur une page (html) une liste d&#8217;objet (potentiellement infinie) dont un nombre limité seulement sera visible par l&#8217;utilisateur. Il sera bien sûr complété par une interface de navigation pour parcourir ce &#8220;catalogue&#8221; d&#8217;objets (qui peuvent être des vignettes des textes ou encore des vidéos). Les applications sont donc multiples : diaporama photo, diaporama produit, ou encore module d&#8217;actualités.</p>
<p><strong>Ce dont vous avez besoin pour commencer.</strong></p>
<p>Avant toute chose, il convient de déterminer avec précision l&#8217;apparence finale de votre carrousel. En effet, pour que l&#8217;affichage fonctionne correctement sur tous les navigateurs (et c&#8217;est aussi le but), il conviendra d&#8217;être précis et méticuleux. En premier lieu donc, commencez par mesurer (en pixels) l&#8217;espace dont vous disposez pour l&#8217;affichage du carrousel. Dans notre exemple, le carrousel sera horizontal ce qui signifie que j&#8217;ai besoin de connaître la largeur totale de l&#8217;espace qui accueillera la navigation, par exemple de mon diaporama.</p>
<p><img class="aligncenter size-full wp-image-7" title="mesure_carrousel" src="http://www.devblog.fr/wp-content/uploads/2009/06/mesure_carrousel.png" alt="mesure_carrousel" width="620" height="80" /></p>
<p>Comme le montre l&#8217;image ci-dessus, cette mesure doit tenir compte de l&#8217;ensemble des éléments qui constituent votre navigation. Ensuite, il convient généralement de sortir la calculatrice pour déterminer d&#8217;autres paramètres très important :</p>
<ul>
<li>La nombre d&#8217;éléments visibles au chargement du carrousel (ici 6).</li>
<li>La dimension (précise) de chaque éléments (ne pas oublier les bordures éventuelles&#8230;).</li>
<li>L&#8217;espacement entre chaque objet (ici 10 pixels qui seront obtenus par une &#8220;margin-right&#8221;).</li>
</ul>
<p>Dans notre exemple, chaque élément visible occupera donc une largeur totale de 96px. (80 de largeur + 6 de bordure (3 de chaque côté) +10 de marge droite). Soit un total de 576 pixels nécessaires pour l&#8217;affichage de 6 éléments. Si vous avez suivi, il nous reste donc 12 pixels à droite et à gauche de nos vignettes qui serviront à l&#8217;affichage de la navigation (par exemple avec de petites flèches explicites.</p>
<p><strong>Et maintenant on fait quoi ?</strong></p>
<p>Une fois que le gabarit de votre Carrousel est déterminé, il convient de le créer en HTML. Pour cela je vais utiliser deux conteneurs, deux liens et une liste non ordonnées :</p>
<pre class="brush: html">

&lt;!--Le premier conteneur qui englobe l&#039;intégralité de la navigation--&gt;
&lt;div id=&quot;navigation&quot;&gt;
&lt;!--Le lien pour reculer dans notre diaporama--&gt;
&lt;a href=&quot;#&quot; id=&quot;prev&quot; class=&quot;first&quot;&gt;&lt;img src=&quot;left.jpg&quot; alt=&quot;Précédent&quot; width=&quot;10&quot; height=&quot;10&quot; border=&quot;0&quot;/&gt;&lt;/a&gt;
&lt;!--Le second contenur qui englobe les objets--&gt;
&lt;div id=&quot;thumb&quot;&gt;
&lt;!--Le liste des objets--&gt;
&lt;ul id=&quot;defileur&quot;&gt;
&lt;li class=&quot;pdt&quot; id=&quot;a0&quot;&gt;&lt;img src=&quot;vign4.jpg&quot; /&gt;&lt;/li&gt;
&lt;li class=&quot;pdt&quot; id=&quot;a1&quot;&gt;&lt;img src=&quot;vign1.jpg&quot; /&gt;&lt;/li&gt;
&lt;li class=&quot;pdt&quot; id=&quot;a2&quot;&gt;&lt;img src=&quot;vign2.jpg&quot; /&gt;&lt;/li&gt;
&lt;li class=&quot;pdt&quot; id=&quot;a3&quot;&gt;&lt;img src=&quot;vign3.jpg&quot; /&gt;&lt;/li&gt;
&lt;li class=&quot;pdt&quot; id=&quot;a4&quot;&gt;&lt;img src=&quot;vign4.jpg&quot; /&gt;&lt;/li&gt;
&lt;li class=&quot;pdt&quot; id=&quot;a5&quot;&gt;&lt;img src=&quot;vign5.jpg&quot; /&gt;&lt;/li&gt;
&lt;li class=&quot;pdt&quot; id=&quot;a6&quot;&gt;&lt;img src=&quot;vign6.jpg&quot; /&gt;&lt;/li&gt;
&lt;li class=&quot;pdt&quot; id=&quot;a7&quot;&gt;&lt;img src=&quot;vign2.jpg&quot; /&gt;&lt;/li&gt;
&lt;li class=&quot;pdt&quot; id=&quot;a8&quot;&gt;&lt;img src=&quot;vign5.jpg&quot; /&gt;&lt;/li&gt;
&lt;li class=&quot;pdt&quot; id=&quot;a9&quot;&gt;&lt;img src=&quot;vign2.jpg&quot; /&gt;&lt;/li&gt;
&lt;li class=&quot;pdt&quot; id=&quot;a10&quot;&gt;&lt;img src=&quot;vign4.jpg&quot; /&gt;&lt;/li&gt;
&lt;li class=&quot;pdt&quot; id=&quot;a11&quot;&gt;&lt;img src=&quot;vign5.jpg&quot; /&gt;&lt;/li&gt;
&lt;li class=&quot;pdt&quot; id=&quot;a12&quot;&gt;&lt;img src=&quot;vign6.jpg&quot; /&gt;&lt;/li&gt;
&lt;li class=&quot;pdt&quot; id=&quot;a13&quot;&gt;&lt;img src=&quot;vign2.jpg&quot; /&gt;&lt;/li&gt;
&lt;li class=&quot;pdt&quot; id=&quot;a14&quot;&gt;&lt;img src=&quot;vign5.jpg&quot; /&gt;&lt;/li&gt;
&lt;li class=&quot;pdt&quot; id=&quot;a15&quot;&gt;&lt;img src=&quot;vign2.jpg&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;a href=&quot;#&quot; id=&quot;next&quot;&gt;&lt;img src=&quot;right.jpg&quot; alt=&quot;Suivante&quot; width=&quot;10&quot; height=&quot;10&quot; title=&quot;Suivant&quot; border=&quot;0&quot;/&gt;&lt;/a&gt;
&lt;/div&gt;
</pre>
<p>Peu importe le html que vous souhaitez utiliser, 2 choses sont importantes dans le code ci-dessus :</p>
<ol>
<li>La class &#8220;first&#8221; que j&#8217;ajoute sur le premier lien : elle servira à le masquer lors de l&#8217;amorce (puisqu&#8217;aucune navigation vers la gauche sera possible au lancement).</li>
<li>La class &#8220;pdt&#8221; toujours identique spécifiée sur chaque éléments de la liste : elle servira à compter au chargement de la page combien j&#8217;ai d&#8217;éléments dans ma liste.</li>
</ol>
<p>Attaquons nous maintenant au javascript qui va nous permettre de rendre tout ça interactif et nous rapprocher du but. Avec un petit script simple, qui utilisera la puissance de jquery et nécessitant très peu de paramètre hormis le nombre d&#8217;éléments visibles au chargement (6 dans notre exemple) qui sera passé en &#8220;constante&#8221; de configuration.</p>
<pre class="brush: jscript">

//On s&#039;assure d&#039;abord que le document est chargé :
$(document).ready(function(){
//On configure notre script en lui indiquant le nombre d&#039;objet visible en même temps :
var nbdisplay = 6;
//Puis on compte le nombre d&#039;objet présent dans notre liste, à adapter peut-être à votre html
var nbobjet = $(&#039;#defileur&#039;).children(&#039;li.pdt&#039;).size();
//Enfin on amorce une variable à 0 qui va nous permettre de nous repérer dans la navigation
var repere = 0;
//On crée ensuite deux fonctions assigné sur chacun de nos boutons de navigation :
//La fonction qui permet d&#039;avancer dans le carrousel est assigné au lien possédant l&#039;id &quot;next&quot; :
$(&#039;#next&#039;).click(
function () {
if ($(this).is(&quot;.last&quot;)==false) //je n&#039;active la fonction que si je ne suis pas sur le dernier élément
{
repere++; //j&#039;incrémente ma variable de repère
$(&quot;#defileur&quot;).animate({&quot;left&quot;: &quot;-=96px&quot;}, &quot;slow&quot;);//je déplace vers la gauche mon conteneur de largeur totale d&#039;un élément (element+marge+bordure).
$(&#039;#prev&#039;).removeClass();//j&#039;enlève la classe du lien &quot;précedent&quot; pour le faire apparaitre puisque désormais je peux naviguer en arrière.
if((repere+nbdisplay)==nbobjet){//enfin, je calcule si je ne suis pas au bout de ma liste.
$(this).addClass(&quot;last&quot;);//le cas écheant, j&#039;ajoute une classe au bouton pour le faire disparaitre.
}
}
return false;
});
//La fonction qui permet de reculer dans le carrousel est assigné au lien possédant l&#039;id &quot;prev&quot; :
$(&#039;#prev&#039;).click(
function () {
if ($(this).is(&quot;.first&quot;)==false) {
$(&quot;#defileur&quot;).animate({&quot;left&quot;: &quot;+=96px&quot;}, &quot;slow&quot;);
repere--;
$(&#039;#next&#039;).removeClass();
if(repere==0){
$(this).addClass(&quot;first&quot;);
}
}
return false;
});
});
</pre>
<p>Il ne me reste plus qu&#8217;à ajouter une couche essentielle. La feuille de style. Qui va servir à masquer articiellement les objets qui dépasse le quota autoriser (ici 6) et à afficher et/ou masquer les boutons servant à la navigation.</p>
<pre class="brush: css">

*{
margin:0;
padding:0;
}
#navigation{
position:absolute;
width:600px;
left:0px;
top:0px;
}
#thumb{
width: 576px;
height:56px;
overflow:hidden;
position:relative;
left:14px;
}
#defileur {

position:absolute;
left:0px;
top:0px;
}
#defileur li {
float:left;
list-style:none;
width:80px;
height:50px;
margin-right:10px;
overflow:hidden;
border:solid 3px #C7922D;
}
.last,.first{
visibility:hidden;
}
#prev{
position:absolute;
top:25px;
left:0;
}
#next{
top:25px;
position:absolute;
left:590px;
}
</pre>
<p>Voilà, nous y sommes, le carrousel est terminé et permet de naviguer image par image dans notre collection de vignettes.</p>
<p><a href="http://www.devblog.fr/demo/carrousel/">La démo du script achevé est disponible ici.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.devblog.fr/2009/06/23/creer-un-carrousel-avec-jquery-pour-vos-diaporamas-fils-infos-catalogue-produits/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
