
script : fade v2.0
langage : javascript
catégorie : module
usage : Faîtes apparaître ou disparaître progressivement les éléments de votre page.
tags : effets spéciaux
fade permet de réaliser des effets d'apparition et de dispartion en fondu, sur n'importe quel élément
d'une page html. (Ah, les effets de fondu ! Ça fait toujours bien !)
Une ligne de javascript suffit.
(Voir aussi Animate, qui permet de réaliser le même effets, et d'autres encore.)
Je vous en prie, amusez-vous à faire des fondus sur les montres molles de Dalí :
fade-out
fade-in

Pour ce qui est de charger le script, rien de plus ordinaire : on place le code suivant entre les balises <head> et </head> de la page :
<script src="fade.js" type="text/javascript"></script>
On peut alors lancer un fondu avec un minimum de code. (Ici on fait apparaîte un élément)
fade( document.getElementById('dali'), 1 );
Le script apporte quelques autres subtilités, dont vous trouverez le détail dans les tableaux suivants :
fade([elem, [to, [from, [options]]]) lance un fondu sur l'élément elem, pour obtenir un pourcentage d'opacité to, en partant d'une opacité from, et en utilisant les options listées dans options.
Aucun des arguments n'est obligatoire.
| argument | type | description | par défaut |
| elem | HTMLElement |
l'élément à animer | document.body |
|---|---|---|---|
| to | Float | le pourcentage d'opacité désiré à la fin de l'animation | 1 (donc 100%) |
| from | Float |
le pourcentage d'opacité désiré au départ de l'animation Si ce paramètre n'est pas renseigné, le script tâchera de le déterminer automatiquement. Attention toutefois : cette méthode n'est pas infaillible ! |
special |
| options | Object | les options de l'animation, listées dans un tableau associatif. Voir ci-après pour le détail des options |
{} |
| option | type | description | par défaut |
| duration | Integer
|
durée de l'animation, en millisecondes.
|
1000
|
|---|---|---|---|
| frameRate | String | nombre d'étapes par secondes, dans l'animation.
|
30
|
| onFinish | Function | fonction callback à exécuter à la fin de l'animation.
Exemple : function () { alert('fini !'); } |
null |
Voici un exemple d'appel de la foncion, avec options :
fade( document.getElementById('dali'), // l'élément à animer : celui dont l'attribut id est 'dali' 0.5, // l'opacité finale : à demi transparent 1, // l'opacité initiale : complètement opaque { duration : 5000, // durée de l'animation : 5 secondes frameRate : 12, // fréquence de l'animation : 12 images par seconde onFinish : function(){alert('fini!');} // fonction appelée à la fin de l'animation : afficher 'fini!' } );
Vous trouverez dans ce zip deux versions du script : l'une compactée (<1Ko), et l'autre commentée.
Notez que le script embarque la fonction setOpacity, qui permet de définir le degré de transparence d'un élément HTML.
compatibilité :
(autres navigateurs non testés)
<script type="text/javascript">fade(tes réglages);</script> onmouseout="setOpacity(document.getElementById('Image1'),0)"var options = { onFinish : stop_action };
fade(elem, to, from, options);fade( document.getElementsByTagName('body')[0], 1);seek('.fadeIn').each(function(elem){
fade(elem, 1);
}); onunload du <body>. Tu auras sans doute besoin d'un preventdefault pour empêcher le changement de page immédiat. Puis, une fois le fondu effectué, il faudra changer de page par javascript (window.location.href="xxx.html").setTimeout(function(){
fade(elem);
},delaiEnMillisecondes);display:none c'est ce que je ferais aussi. Mais il faudrait le faire en agissant sur l'attribut style de ta popup, pour que fade puisse le lire : style="display:none". (Les puristes diraient qu'il faut le faire en javascript.)fade(this) sur le onclick. var fade1, fade2, fade3, fadex;fade1 = fade2 = fade3 = fadex = fade;