<?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>Ange Chierchia &#187; Ajax/JavaScript</title> <atom:link href="http://blog.angechierchia.com/ajax-javascript/feed/" rel="self" type="application/rss+xml" /><link>http://blog.angechierchia.com</link> <description>Front &#38; Back end Web Designer</description> <lastBuildDate>Thu, 05 Jan 2012 21:15:43 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=</generator> <xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" /> <item><title>Humane JS : vos notifications utilisateur en JavaScript</title><link>http://blog.angechierchia.com/ajax-javascript/humane-js-vos-notifications-utilisateur-en-javascript/</link> <comments>http://blog.angechierchia.com/ajax-javascript/humane-js-vos-notifications-utilisateur-en-javascript/#comments</comments> <pubDate>Sat, 10 Dec 2011 17:00:37 +0000</pubDate> <dc:creator>Ange Chierchia</dc:creator> <category><![CDATA[Ajax/JavaScript]]></category> <category><![CDATA[Javascript]]></category> <category><![CDATA[notifications]]></category> <category><![CDATA[ressources]]></category> <guid
isPermaLink="false">http://blog.angechierchia.com/?p=1412</guid> <description><![CDATA[Humane est une petite librairie JavaScript permettant d&#8217;afficher simplement des notifications à l&#8217;écran. Pas besoin d&#8217;un framework comme jQuery ou Mootools. Les animations sont réalisées en CSS3 quand le navigateur le permet ou bien via JavaScript si le navigateur ne les supporte pas.]]></description> <content:encoded><![CDATA[<p>Humane est une petite librairie JavaScript permettant d&#8217;afficher simplement des notifications à l&#8217;écran. Pas besoin d&#8217;un framework comme jQuery ou Mootools. Les animations sont réalisées en CSS3 quand le navigateur le permet ou bien via JavaScript si le navigateur ne les supporte pas.</p> ]]></content:encoded> <wfw:commentRss>http://blog.angechierchia.com/ajax-javascript/humane-js-vos-notifications-utilisateur-en-javascript/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>FitVids.JS – adaptez vos vidéos à la taille de fenêtre</title><link>http://blog.angechierchia.com/ajax-javascript/responsive-design-adaptez-vos-videos/</link> <comments>http://blog.angechierchia.com/ajax-javascript/responsive-design-adaptez-vos-videos/#comments</comments> <pubDate>Sat, 10 Sep 2011 12:53:17 +0000</pubDate> <dc:creator>Ange Chierchia</dc:creator> <category><![CDATA[Ajax/JavaScript]]></category> <category><![CDATA[jQuery]]></category> <category><![CDATA[plugin]]></category> <category><![CDATA[responsive]]></category> <category><![CDATA[Webdesign]]></category> <guid
isPermaLink="false">http://blog.angechierchia.com/?p=1305</guid> <description><![CDATA[Vendredi dernier, on a parlé du Responsive Web design (RWD) pendant le #wdfr sur Twitter, vous aurez d&#8217;ailleurs un résumé de la sessions du 2 septembre sur le blog du WDfriday, une fois celui-ci en ligne. Aujourd&#8217;hui, voilà pour vous une nouvelle ressource pour pouvoir servir vos vidéos YouTube, Dailymotion, Vimeo, etc. avec une largeur [...]]]></description> <content:encoded><![CDATA[<p>Vendredi dernier, on a parlé du Responsive Web design (RWD) pendant le #wdfr sur Twitter, vous aurez d&#8217;ailleurs un résumé de la sessions du 2 septembre sur le blog du WDfriday, une fois celui-ci en ligne.</p><p>Aujourd&#8217;hui, voilà pour vous une nouvelle ressource pour pouvoir servir vos vidéos YouTube, Dailymotion, Vimeo, etc. avec une largeur &laquo;&nbsp;responsive&nbsp;&raquo;, s&#8217;adaptant à la taille de la fenêtre. Vous n&#8217;avez plus d&#8217;excuse pour passer au <abbr
title="Responsive Web Design">RWD</abbr> !</p> ]]></content:encoded> <wfw:commentRss>http://blog.angechierchia.com/ajax-javascript/responsive-design-adaptez-vos-videos/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Notifications à la Growl avec jQuery</title><link>http://blog.angechierchia.com/ajax-javascript/notifications-growl-jquery/</link> <comments>http://blog.angechierchia.com/ajax-javascript/notifications-growl-jquery/#comments</comments> <pubDate>Fri, 26 Aug 2011 19:04:51 +0000</pubDate> <dc:creator>Ange Chierchia</dc:creator> <category><![CDATA[Ajax/JavaScript]]></category> <category><![CDATA[growl]]></category> <category><![CDATA[jQuery]]></category> <category><![CDATA[notification]]></category> <category><![CDATA[snippet]]></category> <guid
isPermaLink="false">http://blog.angechierchia.com/?p=1260</guid> <description><![CDATA[<p><img
width="633" height="120" src="http://blog.angechierchia.com/wp-content/uploads/thumb-growl-notification.jpg" class="attachment-post-thumbnail wp-post-image" alt="thumb-growl-notification" title="thumb-growl-notification" /></p>Aujourd'hui, on va voir comment mettre en place facilement des notifications utilisateur un peu à la façon de Growl, très connu des Mac users.<span
id="more-1260"></span> Du côté du markup HTML, notre notification se résumera à pas grand chose : un simple bloc fera l'affaire pour contenir notre message. On peu aussi rajouter une icône/image afin de donner une information supplémentaire sur la nature de la notification. Ça n'a vraiment aucune importance, pourvu que l'information affichée soit courte. Voici mon marquage :<pre>&lt;div class="notify"&gt;
	&lt;span class="icon"&gt;&lt;/span&gt;
	&lt;p&gt;Je suis une notification. Je vais dispara&amp;icirc;tre! Phasellus elit nunc, tristique sed sodales sit amet, tincidunt sed.&lt;/p&gt;
&lt;/div&gt;</pre>Pour animer notre notification on aurait pu choisir CSS3 comme l'a fait <a
title="Pop From Top Notification" href="http://css-tricks.com/13815-pop-from-top-notification/" target="_blank">Chris Coyer</a>, mais je préfère utiliser jQuery pour ne pas pénaliser les navigateurs qui ne prendraient pas en compte les animations CSS, et pour m'éviter une belle tartine de définition de style :D. Voilà le Javascript :<pre>$(document).ready(function(){
	$(".notify").css('display','none').delay(500).fadeIn(400).delay(5500).fadeOut(400);
	$(".notify").hover(function(){
		$(this).stop(true,true).fadeIn();
	},function(){
		$(this).stop(true,true).delay(500).fadeIn(400).delay(5500).fadeOut(400);
	});
});</pre>Le script ci-dessus permet de cacher notre notification au chargement de la page, puis après une demi seconde d'attente d'afficher notre notification en fondue pendant cinq secondes et demi pour enfin la faire disparaitre en fondue.
Dans le cas où notre notification est survolé par la souris (fonction <code>hover()</code>) on stoppe l'animation jusqu'à ce que la souris sorte de la notification. Une fois la souris hors de la notification, on reprend l'animation après avoir attendu une demi seconde.
Passons maintenant à notre feuille de style. Ce qu'il est important de noter, c'est que notre bloc contenant le message informatif doit être en <code>position : absolute</code> afin de le positionner, non pas par rapport à son conteneur mais plutôt par rapport au document HTML lui même.<pre>.notify {
	position: absolute;
	top: 8; right: 8px;
	max-width: 246px;
	background: rgba(0,0,0,0.7); padding: 25px;
	font-size: 0.8em; color: #fff;
	border: 2px solid #222;
	border-radius: 8px;
	box-shadow: 0 3px 5px rgba(0,0,0,0.4);
}
.notify:hover {
	border: 2px solid #eee;
}
.notify p {
	margin: 0;
	cursor: default;
}
.notify span.icon {
	display: block;
	width: 40px; height: 40px;
	background: url(notify_icon.png) no-repeat;
	position: absolute;
	top: 10px; left: -30px;
}</pre><a
class="demo_link" href="http://demo.angechierchia.com/growl-notification/">Voir la démo</a> <a
class="download_link" href="http://demo.angechierchia.com/growl-notification/fichiers.zip">Télécharger les fichiers</a>]]></description> <content:encoded><![CDATA[<p><img
width="633" height="120" src="http://blog.angechierchia.com/wp-content/uploads/thumb-growl-notification.jpg" class="attachment-post-thumbnail wp-post-image" alt="thumb-growl-notification" title="thumb-growl-notification" /></p>Aujourd'hui, on va voir comment mettre en place facilement des notifications utilisateur un peu à la façon de Growl, très connu des Mac users.<span
id="more-1260"></span> Du côté du markup HTML, notre notification se résumera à pas grand chose : un simple bloc fera l'affaire pour contenir notre message. On peu aussi rajouter une icône/image afin de donner une information supplémentaire sur la nature de la notification. Ça n'a vraiment aucune importance, pourvu que l'information affichée soit courte. Voici mon marquage :<pre>&lt;div class="notify"&gt;
	&lt;span class="icon"&gt;&lt;/span&gt;
	&lt;p&gt;Je suis une notification. Je vais dispara&amp;icirc;tre! Phasellus elit nunc, tristique sed sodales sit amet, tincidunt sed.&lt;/p&gt;
&lt;/div&gt;</pre>Pour animer notre notification on aurait pu choisir CSS3 comme l'a fait <a
title="Pop From Top Notification" href="http://css-tricks.com/13815-pop-from-top-notification/" target="_blank">Chris Coyer</a>, mais je préfère utiliser jQuery pour ne pas pénaliser les navigateurs qui ne prendraient pas en compte les animations CSS, et pour m'éviter une belle tartine de définition de style :D. Voilà le Javascript :<pre>$(document).ready(function(){
	$(".notify").css('display','none').delay(500).fadeIn(400).delay(5500).fadeOut(400);
	$(".notify").hover(function(){
		$(this).stop(true,true).fadeIn();
	},function(){
		$(this).stop(true,true).delay(500).fadeIn(400).delay(5500).fadeOut(400);
	});
});</pre>Le script ci-dessus permet de cacher notre notification au chargement de la page, puis après une demi seconde d'attente d'afficher notre notification en fondue pendant cinq secondes et demi pour enfin la faire disparaitre en fondue.
Dans le cas où notre notification est survolé par la souris (fonction <code>hover()</code>) on stoppe l'animation jusqu'à ce que la souris sorte de la notification. Une fois la souris hors de la notification, on reprend l'animation après avoir attendu une demi seconde.
Passons maintenant à notre feuille de style. Ce qu'il est important de noter, c'est que notre bloc contenant le message informatif doit être en <code>position : absolute</code> afin de le positionner, non pas par rapport à son conteneur mais plutôt par rapport au document HTML lui même.<pre>.notify {
	position: absolute;
	top: 8; right: 8px;
	max-width: 246px;
	background: rgba(0,0,0,0.7); padding: 25px;
	font-size: 0.8em; color: #fff;
	border: 2px solid #222;
	border-radius: 8px;
	box-shadow: 0 3px 5px rgba(0,0,0,0.4);
}
.notify:hover {
	border: 2px solid #eee;
}
.notify p {
	margin: 0;
	cursor: default;
}
.notify span.icon {
	display: block;
	width: 40px; height: 40px;
	background: url(notify_icon.png) no-repeat;
	position: absolute;
	top: 10px; left: -30px;
}</pre><a
class="demo_link" href="http://demo.angechierchia.com/growl-notification/">Voir la démo</a> <a
class="download_link" href="http://demo.angechierchia.com/growl-notification/fichiers.zip">Télécharger les fichiers</a>]]></content:encoded> <wfw:commentRss>http://blog.angechierchia.com/ajax-javascript/notifications-growl-jquery/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Mettez vos labels dans leur inputs</title><link>http://blog.angechierchia.com/ajax-javascript/mettez-vos-labels-dans-leur-inputs/</link> <comments>http://blog.angechierchia.com/ajax-javascript/mettez-vos-labels-dans-leur-inputs/#comments</comments> <pubDate>Tue, 01 Mar 2011 18:45:33 +0000</pubDate> <dc:creator>Ange Chierchia</dc:creator> <category><![CDATA[Ajax/JavaScript]]></category> <category><![CDATA[Tweets]]></category> <category><![CDATA[accessibilité web]]></category> <category><![CDATA[input]]></category> <category><![CDATA[jQuery]]></category> <category><![CDATA[label]]></category> <category><![CDATA[plugin]]></category> <category><![CDATA[ressources]]></category> <guid
isPermaLink="false">http://blog.angechierchia.com/?p=1162</guid> <description><![CDATA[Aujourd&#8217;hui, je suis tombé sur un plugin jQuery, fort sympathique, et en plus de ça non obstrusif, et donc garantissant une très bonne accessibilité à vos formulaires, même sans Javascript activé. jLabel va vous permettre, comme c&#8217;est la mode ces derniers temps, d&#8217;encapsuler vos libellés dans leur champs de formulaire respectif. Cliquez sur le titre [...]]]></description> <content:encoded><![CDATA[<p>Aujourd&#8217;hui, je suis tombé sur un plugin jQuery, fort sympathique, et en plus de ça non obstrusif, et donc garantissant une très bonne accessibilité à vos formulaires, même sans Javascript activé. jLabel va vous permettre, comme c&#8217;est la mode ces derniers temps, d&#8217;encapsuler vos libellés dans leur champs de formulaire respectif. Cliquez sur le titre du billet pour être redirigé sur le site du plugin</p> ]]></content:encoded> <wfw:commentRss>http://blog.angechierchia.com/ajax-javascript/mettez-vos-labels-dans-leur-inputs/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Afficher son flux de photos Instagram via jQuery et JSON</title><link>http://blog.angechierchia.com/ajax-javascript/afficher-instagram-via-jquery-et-json/</link> <comments>http://blog.angechierchia.com/ajax-javascript/afficher-instagram-via-jquery-et-json/#comments</comments> <pubDate>Thu, 24 Feb 2011 23:10:32 +0000</pubDate> <dc:creator>Ange Chierchia</dc:creator> <category><![CDATA[Ajax/JavaScript]]></category> <category><![CDATA[Instagram]]></category> <category><![CDATA[Javascript]]></category> <category><![CDATA[jQuery]]></category> <category><![CDATA[JSON]]></category> <category><![CDATA[Tweets]]></category> <guid
isPermaLink="false">http://blog.angechierchia.com/?p=1112</guid> <description><![CDATA[<p><img
width="512" height="512" src="http://blog.angechierchia.com/wp-content/uploads/instagram1.jpg" class="attachment-post-thumbnail wp-post-image" alt="instagram" title="instagram" /></p>Vous connaissez cette surement Instagram, cette application iPhone au succès grandissant qui vous permet de partager vos clichés comme un Twitter-like, et en plus de ça leur donner un petit effet digne de Photoshop en a peine quelques minutes? Alors je vais vous donner un petit bout de code qui vous permettra d'afficher vos dernières photos n'importe où!<span
id="more-1112"></span> D'abord, il faut savoir qu'une API Instagram est actuellement en beta, mais n'est accessible que sur invitation pour le moment. Si comme moi vous n'avez pas encore accès à cette API, pas de problème, un site qu'il est tout beau nous permet de récupérer pas mal de données relatives à un compte Instagram au format JSON.
Avant toute chose, il nous faut récupérer notre ID utilisateur, et non notre Nom d'utilisateur. Pour cela, un petit tour sur cette page : <a
title="Récupérer son flux Instagram" href="http://instagram.heroku.com/help" target="_blank">Récupérer son ID et son flux de photos Instagram</a>. <img
title="recup-flux-photo-instagram" src="http://blog.angechierchia.com/wp-content/uploads/recup-flux-photo-instagram.jpg" alt="" width="493" height="216" /> Ce service va vous permettre, via l'URL d'une de vos photos, ou par votre compte Twitter, si vous y avez partagé une Instagram récemment, de récupérer un flux au format ATOM, et par la même occasion votre ID utilisateur. <img
class="size-full wp-image-1119 alignnone" title="recuperer-instagram-userid" src="http://blog.angechierchia.com/wp-content/uploads/recuperer-instagram-userid.png" alt="" width="422" height="343" /> Une fois que vous avez récupérer votre ID utilisateur, comme le montre l'image ci-dessus, rien de plus simple : votre flux au format JSON se trouve ici : http://instagram.heroku.com/users/<strong>xxxxx</strong>.json. N'oubliez pas de remplacer <strong>xxxxx</strong> par votre ID ;)
On va maintenant pouvoir passer à l'affichage de nos données.
Ce qu'il faut savoir : le fichier JSON récupéré est un bordel sans nom, tellement il contient d'informations. Hormis les 20 dernières photos partager, on peut récupérer les commentaires, les "Likes", l'identifiant, et encore quelques informations pour chaque photos.
Ici, je veux récupérer une miniature de l'image, son titre, et l'identifiant de celle-ci pour l'afficher depuis le site d'Instagram. Voici le bout de code qui me permet d'afficher ces données.<pre>$(document).ready(function(){
	$.getJSON('http://instagram.heroku.com/users/45195.json',function(data){
		var instagram = new Array();
		$.each(data.items, function(i,item){
			var str = '&lt;li&gt;&lt;a href="http://intagr.am/p/' + item.code + '"&gt;
			&lt;img src="' + item.image_versions[1].url + '"
			title="' + item.comments[0].text + '" /&gt;
			&lt;div&gt;' + item.comments[0].text + '&lt;/div&gt;
			&lt;/a&gt;&lt;/li&gt;';
			instagram.push(str);
		});
		$('&lt;ul/&gt;', {html: instagram.join('')}).appendTo('#instagram');
	});
});</pre>]]></description> <content:encoded><![CDATA[<p><img
width="512" height="512" src="http://blog.angechierchia.com/wp-content/uploads/instagram1.jpg" class="attachment-post-thumbnail wp-post-image" alt="instagram" title="instagram" /></p>Vous connaissez cette surement Instagram, cette application iPhone au succès grandissant qui vous permet de partager vos clichés comme un Twitter-like, et en plus de ça leur donner un petit effet digne de Photoshop en a peine quelques minutes? Alors je vais vous donner un petit bout de code qui vous permettra d'afficher vos dernières photos n'importe où!<span
id="more-1112"></span> D'abord, il faut savoir qu'une API Instagram est actuellement en beta, mais n'est accessible que sur invitation pour le moment. Si comme moi vous n'avez pas encore accès à cette API, pas de problème, un site qu'il est tout beau nous permet de récupérer pas mal de données relatives à un compte Instagram au format JSON.
Avant toute chose, il nous faut récupérer notre ID utilisateur, et non notre Nom d'utilisateur. Pour cela, un petit tour sur cette page : <a
title="Récupérer son flux Instagram" href="http://instagram.heroku.com/help" target="_blank">Récupérer son ID et son flux de photos Instagram</a>. <img
title="recup-flux-photo-instagram" src="http://blog.angechierchia.com/wp-content/uploads/recup-flux-photo-instagram.jpg" alt="" width="493" height="216" /> Ce service va vous permettre, via l'URL d'une de vos photos, ou par votre compte Twitter, si vous y avez partagé une Instagram récemment, de récupérer un flux au format ATOM, et par la même occasion votre ID utilisateur. <img
class="size-full wp-image-1119 alignnone" title="recuperer-instagram-userid" src="http://blog.angechierchia.com/wp-content/uploads/recuperer-instagram-userid.png" alt="" width="422" height="343" /> Une fois que vous avez récupérer votre ID utilisateur, comme le montre l'image ci-dessus, rien de plus simple : votre flux au format JSON se trouve ici : http://instagram.heroku.com/users/<strong>xxxxx</strong>.json. N'oubliez pas de remplacer <strong>xxxxx</strong> par votre ID ;)
On va maintenant pouvoir passer à l'affichage de nos données.
Ce qu'il faut savoir : le fichier JSON récupéré est un bordel sans nom, tellement il contient d'informations. Hormis les 20 dernières photos partager, on peut récupérer les commentaires, les "Likes", l'identifiant, et encore quelques informations pour chaque photos.
Ici, je veux récupérer une miniature de l'image, son titre, et l'identifiant de celle-ci pour l'afficher depuis le site d'Instagram. Voici le bout de code qui me permet d'afficher ces données.<pre>$(document).ready(function(){
	$.getJSON('http://instagram.heroku.com/users/45195.json',function(data){
		var instagram = new Array();
		$.each(data.items, function(i,item){
			var str = '&lt;li&gt;&lt;a href="http://intagr.am/p/' + item.code + '"&gt;
			&lt;img src="' + item.image_versions[1].url + '"
			title="' + item.comments[0].text + '" /&gt;
			&lt;div&gt;' + item.comments[0].text + '&lt;/div&gt;
			&lt;/a&gt;&lt;/li&gt;';
			instagram.push(str);
		});
		$('&lt;ul/&gt;', {html: instagram.join('')}).appendTo('#instagram');
	});
});</pre>]]></content:encoded> <wfw:commentRss>http://blog.angechierchia.com/ajax-javascript/afficher-instagram-via-jquery-et-json/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Un menu Lava avec jQuery</title><link>http://blog.angechierchia.com/ajax-javascript/menu-lava-lamp-jquery/</link> <comments>http://blog.angechierchia.com/ajax-javascript/menu-lava-lamp-jquery/#comments</comments> <pubDate>Wed, 28 Jul 2010 20:25:32 +0000</pubDate> <dc:creator>Ange Chierchia</dc:creator> <category><![CDATA[Ajax/JavaScript]]></category> <category><![CDATA[CSS]]></category> <category><![CDATA[HTML]]></category> <category><![CDATA[Javascript]]></category> <category><![CDATA[jQuery]]></category> <guid
isPermaLink="false">http://blog.angechierchia.com/?p=945</guid> <description><![CDATA[<p><img
width="200" height="200" src="http://blog.angechierchia.com/wp-content/uploads/lavalampmenu.png" class="attachment-post-thumbnail wp-post-image" alt="lavalampmenu" title="lavalampmenu" /></p>Aujourd'hui je vais partager avec vous un petit effet sympa pour rendre un menu de navigation plus attractif. L'effet que l'on va réaliser ici s'appelle "LavaLamp", ou "lampe à lave" en français... Moins sexy du coup... :S<span
id="more-945"></span> Dans le cadre de projets chez CBC Informatique j'ai eu l'occasion d'implémenter cette technique plutôt sympa qui rend un menu de navigation tout de suite un peu plus attrayant.<h2>Pré requis</h2> Pour réaliser cet effet, il nous faudra utiliser deux plugins en plus de la librairie jQuery. Le premier, <a
title="jQuery LavaLamp" href="http://plugins.jquery.com/project/lavalamp2" target="_blank">jQuery LavaLamp</a>, nous servira à définir le comportement de notre menu Lava. <a
title="jQuery Easing" href="http://plugins.jquery.com/project/Easing" target="_blank">JQuery Easing</a>, notre deuxième plugin est facultatif, mais on va le télécharger par soucis d'esthétisme, il nous permettra de faire rebondir notre menu.<h2>Le marquage HTML</h2> Ici notre marquage HTML est des plus simple, c'est une bête liste d'éléments non ordonnés. En clair (ou plutôt en code), voilà votre menu :<pre class="brush:html">&lt;ul&gt;
    &lt;li&gt;&lt;a href="#"&gt;Item 1&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="#"&gt;Item 2&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="#"&gt;Item 3&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="#"&gt;Item 4&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="#"&gt;Item 5&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</pre>Ok, jusque là pas de soucis, ajoutons maintenant une classe ou une id CSS à notre liste pour agir plus facilement sur le comportement de notre menu. Ici je vais utiliser une id "menu" (wouh, supra original tout ça).
Notre sélecteur (notre id "menu") définit, on va pouvoir s'attaquer à l'instanciation de notre menu Lava dans jQuery.<h2>Le code Javascript</h2> Comme tout script jQuery, il est préférable d'attendre que la page soit chargée totalement avant d'agir sur le DOM. Notre javascript débutera donc ainsi :<pre class="brush:js">$(document).ready(function(){
    //notre code jQuery
});</pre>On ajoute maintenant l'appel au plugin jQuery LavaLamp dans notre script en lui passant les paramètres  souhaités pour l'animation:<pre class="brush:js">$(function() {
    $("#menu").lavaLamp({
        fx: "backout",
        speed: 700,
        click: function(event, menuItem) {
            return false;
        }
    });
});</pre>Ici, rien de bien compliqué, on définit l'effet comme étant élastique, et la vitesse d'animation à 800 millisecondes.
La base de notre menu est terminée, maintenant tout est une question de CSS pour styliser votre menu Lava.<h2>La feuille de style</h2> Pour un très bel effet Lava je vous propose de reprendre la feuille de style de l'exemple présent sur le site du plugin LavaLamp, qui pour moi reflète bien cet esprit "lampe à lave" avec les petites bulles qui se baladent librement.
Aussi, plutôt que d'utiliser des propriétés de CSS3 qui pourraient nous économiser l'utilisation d'images, je reste en CSS2 et vais réaliser les "bulles" avec des images.
Bon allez, envoi du style Marcel!<pre class="brush:css">#menu {
    position: relative;
    height: 29px;
    width: 421px;
    background: url("images/bg.gif") no-repeat top;
    padding: 15px;
    margin: 10px 0;
    overflow: hidden;
}
#menu li {
    float: left;
    list-style: none;
}
#menu li.back {
    background: url("images/lava.gif") no-repeat right -30px;
    width: 9px; height: 30px;
    z-index: 8;
    position: absolute;
}
#menu li.back .left {
    background: url("images/lava.gif") no-repeat top left;
    height: 30px;
    margin-right: 9px; /* 7px is the width of the rounded shape */
}
#menu li a {
    font: bold 14px arial;
    text-decoration: none;
    color: #fff;
    outline: none;
    text-align: center;
    top: 7px;
    text-transform: uppercase;
    letter-spacing: 0;
    z-index: 10;
    display: block;
    float: left;
    height: 30px;
    position: relative;
    overflow: hidden;
    margin: auto 10px;
}
#menu li a:hover, #menu li a:active, #menu li a:visited {
    border: none;
}</pre>Là aussi rien de trop compliqué. Le point important de cette CSS est l'utilisation des propriétés position et z-index.
En définissant position à relative dans l'id #menu ne change rien au menu lui même par rapport au contenu possible qui se trouverai autour, par contre lorsqu'on définit à absolute la position de la classe .back pour les éléments li de la liste #menu permet de bien positionner notre bulle sur le texte.
La propriété z-index:8 utilisée dans la classe .back permet de positionner son contenu au dessus des autre éléments. Enfin, en indiquant un z-index à 10 pour les liens présents dans un élément de liste permet de positionner le texte deux plans au dessus de notre bulle.
Notre menu Lava est terminé. <a
class="demo_link" href="http://demo.angechierchia.com/lavalampmenu/">Voir la démo</a> <a
class="download_link" href="http://demo.angechierchia.com/lavalampmenu/fichiers.zip">Télécharger les fichiers</a><h2>Conclusion</h2> Ici on a pu voir comment animer un élément de navigation afin de rendre plus attrayante l'expérience utilisateur lorsqu'on navigue dans un site. On a vu aussi comment bien utiliser les propriétés CSS position et z-index pour positionner un élément à l'écran.]]></description> <content:encoded><![CDATA[<p><img
width="200" height="200" src="http://blog.angechierchia.com/wp-content/uploads/lavalampmenu.png" class="attachment-post-thumbnail wp-post-image" alt="lavalampmenu" title="lavalampmenu" /></p>Aujourd'hui je vais partager avec vous un petit effet sympa pour rendre un menu de navigation plus attractif. L'effet que l'on va réaliser ici s'appelle "LavaLamp", ou "lampe à lave" en français... Moins sexy du coup... :S<span
id="more-945"></span> Dans le cadre de projets chez CBC Informatique j'ai eu l'occasion d'implémenter cette technique plutôt sympa qui rend un menu de navigation tout de suite un peu plus attrayant.<h2>Pré requis</h2> Pour réaliser cet effet, il nous faudra utiliser deux plugins en plus de la librairie jQuery. Le premier, <a
title="jQuery LavaLamp" href="http://plugins.jquery.com/project/lavalamp2" target="_blank">jQuery LavaLamp</a>, nous servira à définir le comportement de notre menu Lava. <a
title="jQuery Easing" href="http://plugins.jquery.com/project/Easing" target="_blank">JQuery Easing</a>, notre deuxième plugin est facultatif, mais on va le télécharger par soucis d'esthétisme, il nous permettra de faire rebondir notre menu.<h2>Le marquage HTML</h2> Ici notre marquage HTML est des plus simple, c'est une bête liste d'éléments non ordonnés. En clair (ou plutôt en code), voilà votre menu :<pre class="brush:html">&lt;ul&gt;
    &lt;li&gt;&lt;a href="#"&gt;Item 1&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="#"&gt;Item 2&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="#"&gt;Item 3&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="#"&gt;Item 4&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="#"&gt;Item 5&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</pre>Ok, jusque là pas de soucis, ajoutons maintenant une classe ou une id CSS à notre liste pour agir plus facilement sur le comportement de notre menu. Ici je vais utiliser une id "menu" (wouh, supra original tout ça).
Notre sélecteur (notre id "menu") définit, on va pouvoir s'attaquer à l'instanciation de notre menu Lava dans jQuery.<h2>Le code Javascript</h2> Comme tout script jQuery, il est préférable d'attendre que la page soit chargée totalement avant d'agir sur le DOM. Notre javascript débutera donc ainsi :<pre class="brush:js">$(document).ready(function(){
    //notre code jQuery
});</pre>On ajoute maintenant l'appel au plugin jQuery LavaLamp dans notre script en lui passant les paramètres  souhaités pour l'animation:<pre class="brush:js">$(function() {
    $("#menu").lavaLamp({
        fx: "backout",
        speed: 700,
        click: function(event, menuItem) {
            return false;
        }
    });
});</pre>Ici, rien de bien compliqué, on définit l'effet comme étant élastique, et la vitesse d'animation à 800 millisecondes.
La base de notre menu est terminée, maintenant tout est une question de CSS pour styliser votre menu Lava.<h2>La feuille de style</h2> Pour un très bel effet Lava je vous propose de reprendre la feuille de style de l'exemple présent sur le site du plugin LavaLamp, qui pour moi reflète bien cet esprit "lampe à lave" avec les petites bulles qui se baladent librement.
Aussi, plutôt que d'utiliser des propriétés de CSS3 qui pourraient nous économiser l'utilisation d'images, je reste en CSS2 et vais réaliser les "bulles" avec des images.
Bon allez, envoi du style Marcel!<pre class="brush:css">#menu {
    position: relative;
    height: 29px;
    width: 421px;
    background: url("images/bg.gif") no-repeat top;
    padding: 15px;
    margin: 10px 0;
    overflow: hidden;
}
#menu li {
    float: left;
    list-style: none;
}
#menu li.back {
    background: url("images/lava.gif") no-repeat right -30px;
    width: 9px; height: 30px;
    z-index: 8;
    position: absolute;
}
#menu li.back .left {
    background: url("images/lava.gif") no-repeat top left;
    height: 30px;
    margin-right: 9px; /* 7px is the width of the rounded shape */
}
#menu li a {
    font: bold 14px arial;
    text-decoration: none;
    color: #fff;
    outline: none;
    text-align: center;
    top: 7px;
    text-transform: uppercase;
    letter-spacing: 0;
    z-index: 10;
    display: block;
    float: left;
    height: 30px;
    position: relative;
    overflow: hidden;
    margin: auto 10px;
}
#menu li a:hover, #menu li a:active, #menu li a:visited {
    border: none;
}</pre>Là aussi rien de trop compliqué. Le point important de cette CSS est l'utilisation des propriétés position et z-index.
En définissant position à relative dans l'id #menu ne change rien au menu lui même par rapport au contenu possible qui se trouverai autour, par contre lorsqu'on définit à absolute la position de la classe .back pour les éléments li de la liste #menu permet de bien positionner notre bulle sur le texte.
La propriété z-index:8 utilisée dans la classe .back permet de positionner son contenu au dessus des autre éléments. Enfin, en indiquant un z-index à 10 pour les liens présents dans un élément de liste permet de positionner le texte deux plans au dessus de notre bulle.
Notre menu Lava est terminé. <a
class="demo_link" href="http://demo.angechierchia.com/lavalampmenu/">Voir la démo</a> <a
class="download_link" href="http://demo.angechierchia.com/lavalampmenu/fichiers.zip">Télécharger les fichiers</a><h2>Conclusion</h2> Ici on a pu voir comment animer un élément de navigation afin de rendre plus attrayante l'expérience utilisateur lorsqu'on navigue dans un site. On a vu aussi comment bien utiliser les propriétés CSS position et z-index pour positionner un élément à l'écran.]]></content:encoded> <wfw:commentRss>http://blog.angechierchia.com/ajax-javascript/menu-lava-lamp-jquery/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Astuce: une feuille de style différente selon la taille de la fenêtre</title><link>http://blog.angechierchia.com/ajax-javascript/astuce-jquery-fonction-resize/</link> <comments>http://blog.angechierchia.com/ajax-javascript/astuce-jquery-fonction-resize/#comments</comments> <pubDate>Wed, 12 May 2010 17:29:19 +0000</pubDate> <dc:creator>Ange Chierchia</dc:creator> <category><![CDATA[Ajax/JavaScript]]></category> <category><![CDATA[Tweets]]></category> <category><![CDATA[Javascript]]></category> <category><![CDATA[jQuery]]></category> <guid
isPermaLink="false">http://blog.angechierchia.com/?p=760</guid> <description><![CDATA[<p><img
width="200" height="200" src="http://blog.angechierchia.com/wp-content/uploads/1205101927.jpg" class="attachment-post-thumbnail wp-post-image" alt="1205101927" title="1205101927" /></p>Aujourd'hui en bossant sur le nouveau design j'ai voulu adapter mon design selon la taille de la fenêtre du navigateur, je vais donc partager cette petite astuce avec vous. Ici je vais utiliser un petit bout de Javascript, et plus précisement du jQuery.<span
id="more-760"></span> Attention ça va aller vite!<pre class="brush:js">$(window).resize(function(){
      //on récupère la taille de la fenêtre
      var w = $(window).width();
      //on stock la valeur de l'attribut href de notre css actuelle
      var default_css = $("link[rel='stylsheet']").attr("href");
      //adresse de la nouvelle css
      var new_css =   "http://monsite.com/chemin/vers/la_nouvelle.css";
      //on test si la fenêtre à une largeur inférieur à 1024px
      if(w &lt; 1024){
           $("link[rel='stylesheet"=']").attr({href: new_css});
      } else {
           $("link[rel='stylesheet']").attr({href: default_css});
      }
});</pre>Et voilà, votre feuille de style changera dès que la fenêtre sera redimensionnée]]></description> <content:encoded><![CDATA[<p><img
width="200" height="200" src="http://blog.angechierchia.com/wp-content/uploads/1205101927.jpg" class="attachment-post-thumbnail wp-post-image" alt="1205101927" title="1205101927" /></p>Aujourd'hui en bossant sur le nouveau design j'ai voulu adapter mon design selon la taille de la fenêtre du navigateur, je vais donc partager cette petite astuce avec vous. Ici je vais utiliser un petit bout de Javascript, et plus précisement du jQuery.<span
id="more-760"></span> Attention ça va aller vite!<pre class="brush:js">$(window).resize(function(){
      //on récupère la taille de la fenêtre
      var w = $(window).width();
      //on stock la valeur de l'attribut href de notre css actuelle
      var default_css = $("link[rel='stylsheet']").attr("href");
      //adresse de la nouvelle css
      var new_css =   "http://monsite.com/chemin/vers/la_nouvelle.css";
      //on test si la fenêtre à une largeur inférieur à 1024px
      if(w &lt; 1024){
           $("link[rel='stylesheet"=']").attr({href: new_css});
      } else {
           $("link[rel='stylesheet']").attr({href: default_css});
      }
});</pre>Et voilà, votre feuille de style changera dès que la fenêtre sera redimensionnée]]></content:encoded> <wfw:commentRss>http://blog.angechierchia.com/ajax-javascript/astuce-jquery-fonction-resize/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Tipsy: des tooltips sexy avec jQuery</title><link>http://blog.angechierchia.com/ajax-javascript/tipsy-des-tooltips-sexy-avec-jquery/</link> <comments>http://blog.angechierchia.com/ajax-javascript/tipsy-des-tooltips-sexy-avec-jquery/#comments</comments> <pubDate>Tue, 11 May 2010 17:54:51 +0000</pubDate> <dc:creator>Ange Chierchia</dc:creator> <category><![CDATA[Ajax/JavaScript]]></category> <category><![CDATA[Tweets]]></category> <category><![CDATA[info-bulle]]></category> <category><![CDATA[Javascript]]></category> <category><![CDATA[jQuery]]></category> <category><![CDATA[plugin]]></category> <guid
isPermaLink="false">http://blog.angechierchia.com/?p=746</guid> <description><![CDATA[<p><img
width="200" height="200" src="http://blog.angechierchia.com/wp-content/uploads/jquery-tipsy.jpg" class="attachment-post-thumbnail wp-post-image" alt="jquery-tipsy" title="jquery-tipsy" /></p>Il y a pratiquement 1 an maintenant je vous avez montré comment créer vos propres <a
title="Créer des info-bulles attractives avec jQuery" href="http://blog.angechierchia.com/ajax-javascript/creer-des-info-bulles-attractives-avec-jquery/">infos-bulles en jQuery</a>, aujourd'hui je vous présente un plugin vraiment sympa qui permet de faire très simplement des infos-bulle (ou tooltips) similaire à celles qu'on peut trouver sur Facebook ou encore Twitter.<span
id="more-746"></span> Tipsy est donc un plugin jQuery, vraiment très simple à mettre en place, avec pas mal d'options possible pour l'animation des infos-bulles, comme par exemple l'orientation de celles-ci (nord, sud, est, ouest, etc.), la façon dont elles apparaissent et pas mal d'autres choses.<h2>Comment l'implémenter sur votre site?</h2> C'est super simple, il suffit d'inclure la librairie jQuery en plus de Tipsy dans votre site, sans ça le plugin ne fonctionnera pas, ça tombe sous le sens mais je le dis quand même. Ensuite, il suffit d'initialiser le plugin de la façon suivante :<pre class="brush:js">$('a').tipsy();</pre>Ce petit bout de code appliquera le plugin Tipsy à tout les liens de la page. Enfin, pour que le plugin soit effectif, il faut bien entendu renseigner l'attribut <em>title</em> de vos liens.<h2>Aller plus loin avec Tipsy</h2> Pour voir les différentes options de personnalisation, les exemples d'utilisation et télécharger Tipsy, <a
title="Facebook-style tooltip plugin for jQuery" href="http://onehackoranother.com/projects/jquery/tipsy/" target="_blank">rendez-vous sur le site du plugin</a>.]]></description> <content:encoded><![CDATA[<p><img
width="200" height="200" src="http://blog.angechierchia.com/wp-content/uploads/jquery-tipsy.jpg" class="attachment-post-thumbnail wp-post-image" alt="jquery-tipsy" title="jquery-tipsy" /></p>Il y a pratiquement 1 an maintenant je vous avez montré comment créer vos propres <a
title="Créer des info-bulles attractives avec jQuery" href="http://blog.angechierchia.com/ajax-javascript/creer-des-info-bulles-attractives-avec-jquery/">infos-bulles en jQuery</a>, aujourd'hui je vous présente un plugin vraiment sympa qui permet de faire très simplement des infos-bulle (ou tooltips) similaire à celles qu'on peut trouver sur Facebook ou encore Twitter.<span
id="more-746"></span> Tipsy est donc un plugin jQuery, vraiment très simple à mettre en place, avec pas mal d'options possible pour l'animation des infos-bulles, comme par exemple l'orientation de celles-ci (nord, sud, est, ouest, etc.), la façon dont elles apparaissent et pas mal d'autres choses.<h2>Comment l'implémenter sur votre site?</h2> C'est super simple, il suffit d'inclure la librairie jQuery en plus de Tipsy dans votre site, sans ça le plugin ne fonctionnera pas, ça tombe sous le sens mais je le dis quand même. Ensuite, il suffit d'initialiser le plugin de la façon suivante :<pre class="brush:js">$('a').tipsy();</pre>Ce petit bout de code appliquera le plugin Tipsy à tout les liens de la page. Enfin, pour que le plugin soit effectif, il faut bien entendu renseigner l'attribut <em>title</em> de vos liens.<h2>Aller plus loin avec Tipsy</h2> Pour voir les différentes options de personnalisation, les exemples d'utilisation et télécharger Tipsy, <a
title="Facebook-style tooltip plugin for jQuery" href="http://onehackoranother.com/projects/jquery/tipsy/" target="_blank">rendez-vous sur le site du plugin</a>.]]></content:encoded> <wfw:commentRss>http://blog.angechierchia.com/ajax-javascript/tipsy-des-tooltips-sexy-avec-jquery/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Plugin jQuery: CuteTime, affichez vos dates comme sur Twitter</title><link>http://blog.angechierchia.com/ajax-javascript/plugin-jquery-cutetime-affichez-vos-dates-comme-sur-twitter/</link> <comments>http://blog.angechierchia.com/ajax-javascript/plugin-jquery-cutetime-affichez-vos-dates-comme-sur-twitter/#comments</comments> <pubDate>Sun, 11 Apr 2010 21:43:22 +0000</pubDate> <dc:creator>Ange Chierchia</dc:creator> <category><![CDATA[Ajax/JavaScript]]></category> <category><![CDATA[Tweets]]></category> <category><![CDATA[date]]></category> <category><![CDATA[Javascript]]></category> <category><![CDATA[jQuery]]></category> <category><![CDATA[plugin]]></category> <guid
isPermaLink="false">http://www.angechierchia.com/?p=635</guid> <description><![CDATA[<p><img
width="200" height="200" src="http://blog.angechierchia.com/wp-content/uploads/cutetimejquery.jpg" class="attachment-post-thumbnail wp-post-image" alt="cutetimejquery" title="cutetimejquery" /></p>Vous rêvez d'afficher les dates de vos articles à la façon de Twitter ou encore Facebook, <a
title="CuteTime, pour des dates plus &quot;user-friendly&quot;" href="http://tpgblog.com/cutetime/" target="_blank">CuteTime</a> est fait pour vous! CuteTime est un plugin jQuery qui permet de convertir automatiquement des <a
href="http://fr.wikipedia.org/wiki/Horodatage">timestamps</a> en date formatées d'une plus joli manière (ex: il y a 2 jours, etc..).<span
id="more-635"></span> CuteTime peut être utilisé à la fois comme une fonction, et retournera un timestamp tout bien formaté, en gros ce serait l'équivalent de la fonction PHP date('d/m/Y') mais en mieux. Ou bien, en l'utilisant grâce aux sélecteurs, en modifiant la valeur de l'objet par un CuteTime.<h2>Utilisation</h2> Concrètement, ce plugin s'utilise de la façon suivante :<pre class="brush:js">$(document).ready(function () {
	$('.timestamp').cuteTime();
});</pre><pre class="brush:html">&lt;div class="timestamp"&gt;
	2009/10/12 22:11:19
&lt;/div&gt;</pre>C'est aussi simple que ça. Pour plus d'information, et voir la documentation complète concernant l'utilisation de ce plugin,<a
title="jQuery plugin CuteTime" href="http://tpgblog.com/cutetime/" target="_blank"> rendez vous sur la page consacrée au plugin</a>.]]></description> <content:encoded><![CDATA[<p><img
width="200" height="200" src="http://blog.angechierchia.com/wp-content/uploads/cutetimejquery.jpg" class="attachment-post-thumbnail wp-post-image" alt="cutetimejquery" title="cutetimejquery" /></p>Vous rêvez d'afficher les dates de vos articles à la façon de Twitter ou encore Facebook, <a
title="CuteTime, pour des dates plus &quot;user-friendly&quot;" href="http://tpgblog.com/cutetime/" target="_blank">CuteTime</a> est fait pour vous! CuteTime est un plugin jQuery qui permet de convertir automatiquement des <a
href="http://fr.wikipedia.org/wiki/Horodatage">timestamps</a> en date formatées d'une plus joli manière (ex: il y a 2 jours, etc..).<span
id="more-635"></span> CuteTime peut être utilisé à la fois comme une fonction, et retournera un timestamp tout bien formaté, en gros ce serait l'équivalent de la fonction PHP date('d/m/Y') mais en mieux. Ou bien, en l'utilisant grâce aux sélecteurs, en modifiant la valeur de l'objet par un CuteTime.<h2>Utilisation</h2> Concrètement, ce plugin s'utilise de la façon suivante :<pre class="brush:js">$(document).ready(function () {
	$('.timestamp').cuteTime();
});</pre><pre class="brush:html">&lt;div class="timestamp"&gt;
	2009/10/12 22:11:19
&lt;/div&gt;</pre>C'est aussi simple que ça. Pour plus d'information, et voir la documentation complète concernant l'utilisation de ce plugin,<a
title="jQuery plugin CuteTime" href="http://tpgblog.com/cutetime/" target="_blank"> rendez vous sur la page consacrée au plugin</a>.]]></content:encoded> <wfw:commentRss>http://blog.angechierchia.com/ajax-javascript/plugin-jquery-cutetime-affichez-vos-dates-comme-sur-twitter/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Créer un panneau de Login coulissant avec jQuery</title><link>http://blog.angechierchia.com/ajax-javascript/creer-un-panneau-de-login-coulissant-avec-jquery/</link> <comments>http://blog.angechierchia.com/ajax-javascript/creer-un-panneau-de-login-coulissant-avec-jquery/#comments</comments> <pubDate>Mon, 11 Jan 2010 16:45:18 +0000</pubDate> <dc:creator>Ange Chierchia</dc:creator> <category><![CDATA[Ajax/JavaScript]]></category> <category><![CDATA[Javascript]]></category> <category><![CDATA[jQuery]]></category> <category><![CDATA[Webdesign]]></category> <guid
isPermaLink="false">http://www.angechierchia.com/?p=562</guid> <description><![CDATA[<p><img
width="200" height="200" src="http://blog.angechierchia.com/wp-content/uploads/loginpanel.jpg" class="attachment-post-thumbnail wp-post-image" alt="loginpanel" title="loginpanel" /></p>Comme premier article pour cette nouvelle année 2010 (bonne année à tous d'ailleurs!), j'ai décidé de vous proposer un tutoriel très simple pour créer une zone de login coulissante grâce à la librairie javascript jQuery. <span
id="more-562"></span>L'idée ici, c'est de pouvoir faire apparaitre un panneau au clic sur un bouton. Ce panneau qui coulisserai vers le bas depuis le "header" du site afficherai un formulaire pour permettre aux utilisateurs du site de se connecter à leur espace personnel. On pourrait croire qu'il serai difficile de réaliser un tel effet. Eh bien non! Grâce à notre feuille de style et un tout petit peu de javascript en utilisant jQuery, l'effet est simple à réaliser, et tout n'est ensuite qu'une question de style :) .
Avant de commencer, vous pouvez <a
title="Démo : Panneau de login coulissant avec jQuery" href="http://www.angechierchia.com/fichiers/slidepanellogin/">jeter un oeil sur le rendu final</a> (pour un meilleur rendu, utilisez les navigateurs Chrome, Firefox 3.5 ou Safari 4).<h2>Le marquage HTML</h2> Maintenant qu'on a vu quel était notre but, passons au code HTML de notre panneau de login. Je ne vais pas expliquer le code, c'est un formulaire basique encapsulé dans un bloc, suivi d'un lien lui même encapsulé dans un bloc de paragraphe.<pre class="brush:html">&lt;div id="login_panel"&gt;
	&lt;form name="login_form" id="login_form" method="post" action="" &gt;
		&lt;label for="username"&gt;Nom d'utilisateur:&lt;/label&gt;
		&lt;input type="text" name="username" id="username" /&gt;
		&lt;label for="password"&gt;Mot de passe:&lt;/label&gt;
		&lt;input type="password" name="password" id="password" /&gt;
		&lt;input type="submit" name="submit" id="submit" value="Connexion" /&gt;
	&lt;/form&gt;
&lt;/div&gt;&lt;!-- #login_panel --&gt;
&lt;p class="slide"&gt;&lt;a href="#" class="slide_btn"&gt;Se connecter&lt;/a&gt;&lt;/p&gt;</pre>Voilà, on ne peut vraiment pas faire plus simple.<h2>Les styles CSS</h2> Maintenant, passons à notre feuille de style. Je ne mettrai ici que les propriétés importantes à la réalisation de l'effet, pour ne pas vous embêter avec le superflux, cependant le code complet sera disponible au téléchargement à la toute fin de l'article.<pre class="brush:css">#login_panel {
	width: 400px;
	margin: 0 auto;
	padding: 30px;
	background: #cccccc;
	display: none; //état initial du panneau : caché
}
.slide_btn {
	width: 140px;
	height: 15px;
	margin: 0 auto;
	padding: 10px;
	text-align: center;
	background: #ff0000;
	display: block;
}
.slide {
	margin: 0;
	padding: 0;
}</pre><h2>Le script jQuery</h2> Maintenant qu'on a définit notre marquage HTML et les styles à lui appliquer, il ne reste plus qu'à l'animer grâce à jQuery.<pre class="brush:js">$(document).ready(function(){
	$(".slide_btn").click(function(){
		$("#login_panel").slideToggle("slow");
		return false;
	});
});</pre>Et voilà, votre panneau de login est terminé!<h2>Télécharger les sources</h2> <a
class="demo_link" href="http://www.angechierchia.com/fichiers/slidepanellogin/">Voir une démo</a> <a
class="download_link" title="Télécharger les fichiers sources" href="http://www.angechierchia.com/fichiers/slidepanellogin/slidepanellogin.zip">Télécharger les fichiers sources</a>]]></description> <content:encoded><![CDATA[<p><img
width="200" height="200" src="http://blog.angechierchia.com/wp-content/uploads/loginpanel.jpg" class="attachment-post-thumbnail wp-post-image" alt="loginpanel" title="loginpanel" /></p>Comme premier article pour cette nouvelle année 2010 (bonne année à tous d'ailleurs!), j'ai décidé de vous proposer un tutoriel très simple pour créer une zone de login coulissante grâce à la librairie javascript jQuery. <span
id="more-562"></span>L'idée ici, c'est de pouvoir faire apparaitre un panneau au clic sur un bouton. Ce panneau qui coulisserai vers le bas depuis le "header" du site afficherai un formulaire pour permettre aux utilisateurs du site de se connecter à leur espace personnel. On pourrait croire qu'il serai difficile de réaliser un tel effet. Eh bien non! Grâce à notre feuille de style et un tout petit peu de javascript en utilisant jQuery, l'effet est simple à réaliser, et tout n'est ensuite qu'une question de style :) .
Avant de commencer, vous pouvez <a
title="Démo : Panneau de login coulissant avec jQuery" href="http://www.angechierchia.com/fichiers/slidepanellogin/">jeter un oeil sur le rendu final</a> (pour un meilleur rendu, utilisez les navigateurs Chrome, Firefox 3.5 ou Safari 4).<h2>Le marquage HTML</h2> Maintenant qu'on a vu quel était notre but, passons au code HTML de notre panneau de login. Je ne vais pas expliquer le code, c'est un formulaire basique encapsulé dans un bloc, suivi d'un lien lui même encapsulé dans un bloc de paragraphe.<pre class="brush:html">&lt;div id="login_panel"&gt;
	&lt;form name="login_form" id="login_form" method="post" action="" &gt;
		&lt;label for="username"&gt;Nom d'utilisateur:&lt;/label&gt;
		&lt;input type="text" name="username" id="username" /&gt;
		&lt;label for="password"&gt;Mot de passe:&lt;/label&gt;
		&lt;input type="password" name="password" id="password" /&gt;
		&lt;input type="submit" name="submit" id="submit" value="Connexion" /&gt;
	&lt;/form&gt;
&lt;/div&gt;&lt;!-- #login_panel --&gt;
&lt;p class="slide"&gt;&lt;a href="#" class="slide_btn"&gt;Se connecter&lt;/a&gt;&lt;/p&gt;</pre>Voilà, on ne peut vraiment pas faire plus simple.<h2>Les styles CSS</h2> Maintenant, passons à notre feuille de style. Je ne mettrai ici que les propriétés importantes à la réalisation de l'effet, pour ne pas vous embêter avec le superflux, cependant le code complet sera disponible au téléchargement à la toute fin de l'article.<pre class="brush:css">#login_panel {
	width: 400px;
	margin: 0 auto;
	padding: 30px;
	background: #cccccc;
	display: none; //état initial du panneau : caché
}
.slide_btn {
	width: 140px;
	height: 15px;
	margin: 0 auto;
	padding: 10px;
	text-align: center;
	background: #ff0000;
	display: block;
}
.slide {
	margin: 0;
	padding: 0;
}</pre><h2>Le script jQuery</h2> Maintenant qu'on a définit notre marquage HTML et les styles à lui appliquer, il ne reste plus qu'à l'animer grâce à jQuery.<pre class="brush:js">$(document).ready(function(){
	$(".slide_btn").click(function(){
		$("#login_panel").slideToggle("slow");
		return false;
	});
});</pre>Et voilà, votre panneau de login est terminé!<h2>Télécharger les sources</h2> <a
class="demo_link" href="http://www.angechierchia.com/fichiers/slidepanellogin/">Voir une démo</a> <a
class="download_link" title="Télécharger les fichiers sources" href="http://www.angechierchia.com/fichiers/slidepanellogin/slidepanellogin.zip">Télécharger les fichiers sources</a>]]></content:encoded> <wfw:commentRss>http://blog.angechierchia.com/ajax-javascript/creer-un-panneau-de-login-coulissant-avec-jquery/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
