Livre Photoshop CS3 - Téléchargement libre et gratuit

Le livre Photoshop CS3, Retouche photo - Les techniques de Pro, en téléchargement libre et gratuit.
Le Blog du Web Design, Wisibility, Welovemac, AlsacréationsScoopeo, NikonPassion, Photo-InfoFocale Active, Pixelistes et Freewares et tutos en parlent !

Un menu jQuery avec rebond

Les fichiers

Nous allons mettre en place un menu utilisant les librairies JavaScript jQuery et easing. Cette dernière librairie permet d'utiliser des effets dynamiques lors de l'utilisation du menu.

Testez la démonstration de ce menu.

Téléchargez les fichiers du script réalisé par Zach Dunn, sur le site de BuildInternet.

L'objectif

Ce script permet de dérouler les menus avec un effet de rebond. Le menu affiche une image d'illustration.

En utilisant un autre menu, le menu déroulé précédemment "remonte" avec un effet de rebond, le menu activé se déroule avec un effet de rebond.

La structure du menu

Le menu est une très classique liste <ul>. Chaque item <li> de cette liste utilise une classe spécifique pour sa mise en forme. Tous les items sont composés d'un paragraphe <p> contenant un lien <a> contenant le texte visible : Home, About... Un deuxième paragraphe est utilisé pour afficher le texte du menu déroulé ainsi que l'image d'illustration : The front page, More info... Chaque deuxième paragraphe utilise la classe .subtext pour sa mise en forme.

<ul>
<li class="green">
<p><a href="#">Home</a></p>
<p class="subtext">The front page</p>
</li>
<li class="yellow">
<p><a href="#">About</a></p>
<p class="subtext">More info</p>
</li>
<li class="red">
<p><a href="#">Contact</a></p>
<p class="subtext">Get in touch</p>
</li>
<li class="blue">
<p><a href="#">Submit</a></p>
<p class="subtext">Send us your stuff!</p>
</li>
<li class="purple">
<p><a href="#">Terms</a></p>
<p class="subtext">Legal things</p>
</li>
</ul>

Les liens externes

La feuille de style

Dans le <head> insérez le lien vers la feuille de style :

<link rel="stylesheet" href="/animated-menu.css"/>

Les fichiers de script

Dans le <head>, vous trouvez le lien vers le fichier jQuery :

<script src="http://jqueryjs.googlecode.com/files/jquery-1.3.js" type="text/javascript"> </script>

Toujours dans le <head>, vous trouvez le lien vers la librairie JavaScript easing qui contient les effets d'animation utilisés, le rebond, dans ce menu.

<script src="/js/jquery.easing.1.3.js" type="text/javascript"> </script>

Pour info, voilà l'URL de téléchargement de la librairie easing.

Enfin, vous trouvez le lien vers le fichier JavaScript, animated-menu.js, de paramétrage de ce script :

<script src="/animated-menu.js" type="text/javascript"> </script>

Le paramétrage du script

C'est dans le fichier animated-menu.js, que vous pouvez paramétrer le script.

C'est à la ligne 12 que vous pouvez changer la hauteur du menu déroulé. Elle est gérée par le paramètre height qui est a 150 pixels initialement : height:'150px'.

C'est à la ligne 17 que vous pouvez changer la hauteur du menu « refermé ». Elle est de 50 pixels : height:'50px'. Cette hauteur est égale à celle des items <li> de la liste, définie dans les styles CSS.

C'est à la ligne 12 que vous pouvez changer la durée (exprimée en millisecondes) de « descente » du menu et à la ligne 17 pour la « remontée ». C'est le paramètre durationduration:600.

Toujours aux lignes 12 et 17, vous pouvez changer l'effet d'animation. C'est le paramètre easing qui a comme valeur par défaut easeOutBounce. easing: 'easeOutBounce'.

Vous avez la liste des effets disponibles dans le fichier jquery.easing.1.3.js dans le dossier js et à l'URL du développeur, dans la zone Example.

La feuille de style

Les styles généraux

L'auteur propose une mise en forme du body, avec une famille de polices de caractères (font-family:"Lucida Grande", arial, sans-serif) et un arrière-plan coloré (background:#F3F3F3).

body{
font-family:"Lucida Grande", arial, sans-serif;
background:#F3F3F3;
}

La liste pour le menu

Le menu est inséré dans une liste <ul> qui ne comporte ni marge (margin:0), ni remplissage (padding:0).

ul{
margin:0;
padding:0;
}

Les items de la liste

Tous les items <li> de la liste ont une largeur (width:100px) et une hauteur (height:50px) fixée. Cette hauteur correspond bien à ce qui est affiché à l'écran. Ils flottent sur leur gauche (float:left) pour être les uns à côté des autres. Le texte est de couleur clair (color:#191919) et centré (text-align:center). Enfin, les items « déroulés » sont masqués dans la hauteur des 50 pixels, avec l'utilisation de la propriété overflow avec la valeur hidden.

li{
width:100px;
height:50px;
float:left;
color:#191919;
text-align:center;
overflow:hidden;
}

Les liens

Les liens <a> dans les items <li>, sont de couleur blanche (color:#FFF) et sans soulignement (text-decoration:none).

a{
color:#FFF;
text-decoration:none;
}

Les paragraphes des liens

Dans tous les items <li>, nous avons des paragraphes <p>. Ils ont un remplissage différencié : 0 pixel en haut et en bas, et 5 pixels à droite et à gauche.

p{
padding:0px 5px;
}

Les paragraphes des items déroulés

Les items déroulés affichent un texte et une image dans un paragraphe. Ce paragraphe est mis en forme avec la classe .subtext. Il est juste indiqué une marge supérieure de 15 pixels.

.subtext{
padding-top:15px;
}

L'arrière-plan de chaque item

Chaque item <li> déroulé utilise une classe spécifique pour la mise en forme de son arrière-plan. Chaque item à une couleur spécifique (#6AA63B pour le premier) et une image spécifique (green-item-bg.jpg pour le premier), non répétée et positionnée en haut à gauche (url('images/green-item-bg.jpg') top left no-repeat pour le premier).

.green{background:#6AA63B url('images/green-item-bg.jpg') top left no-repeat;}
.yellow{background:#FBC700 url('images/yellow-item-bg.jpg') top left no-repeat;}
.red{background:#D52100 url('images/red-item-bg.jpg') top left no-repeat;}
.purple{background:#5122B4 url('images/purple-item-bg.jpg') top left no-repeat;}
.blue{background:#0292C0 url('images/blue-item-bg.jpg') top left no-repeat;}

Ajouter un Commentaire


Code de sécurité
Rafraîchir

Mes livres

Qui est en ligne

Nous avons 1 invité en ligne

Twitter

© netPlume - Rédaction pédagogique et internet - Contactez-moi - Mentions légales