|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 18 165 ![]() |
![]() Suite à cette discussion, je me suis amusé à réaliser un script assez simple de fondu enchainé. Le fonctionnement est plutôt simple (enfin... je pense) : vous positionnez vos images les unes par-dessus les autres (dans l'exemple, en les positionnant en absolute) et vous lancez le script en passant en paramètre le nom de classe CSS des élément à enchainer. Ensuite, le script modifie les propriétés z-index et d'opacité pour réaliser l'effet. Code :
Exemple en ligneJe pense que beaucoup de choses peuvent être améliorées, mais j'avoue l'avoir codé assez rapidement, donc n'hésitez pas à proposer vos améliorations
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
||
|
10
|
|
|
#2 | ||
|
Membre chevronné
![]() ![]() |
Un autre, en moins bien, sauf peut-être le timeout non [EDIT] constant ... :
La transition est probablement moins fluide dans mon cas car je n'ai pas pensé à employer les z-index. Mais bon, c'est quand même le principe qu'utilise JQuery. testé sous FF3, Google Chrome et IE8 HTML: on commence avec une première image dans la balise <img> Code :
<img id="banniere" src="images/banniere1.png" alt="banniere" title="mon site de noob" style="-moz-opacity:100%; filter:alpha(opacity=100);" />' Code :
|
||
|
|
00
|
|
|
#3 |
|
Membre éprouvé
![]() Inscription : février 2009 Messages : 352 ![]() |
salut bovino, script simple et efficace !!
Petite remarque quand même, l'utilisation de la class pour sélectionner les images pourrais être remplacé par une récupération des éléments enfant images d'un conteneur. -10 lignes Code :
var prevObj = this.collection[this.courant]; ![]() Perso j'aurais fait 2 fonction next et previous et mit en privé une 3ème pour le traitement, rendant le tout plus simple l'utilisation. Y'a aussi le problème de ie qui connait pas le style opacity ! Sinon hornetbzz, plusieurs chose me choque un peu dans ton script. Tu change la propriété src de l'image, mais tu ne prévoit aucun loader d'image (au début du script ces images ne seront pas chargé) Puis t'es transitions linaires pause un problème. Tu lance un setimeout en espace de temps variables, ce qui est pas optimisé... rendre 150 frames par seconde sert a rien (sauf accélérer la transition) , il aurait mieux fallut utiliser un setInterval , et gérer l'accélération en fonction du temps passé et restant. De plus le gros problème de ta solution et que tu dé-enregistre pas les setTimeout, même à un un interval de 0, ceux-ci continue d'être exécute. Dommage, tes idées sont original, mais pas adapté. bye |
|
|
00
|
|
|
#4 | ||||
|
Membre chevronné
![]() ![]() |
Le code n'est probablement pas au top car c'est du conglomérat de différentes époques, entre super noob et le noob actuel. Mais mon script fonctionne bien.
Citation:
Code :
Citation:
|
||||
|
|
00
|
|
|
#5 |
|
Membre éprouvé
![]() Inscription : février 2009 Messages : 352 ![]() |
ok concernant les img, c'est vrai , mais elle sont déclarer a l'extérieur de ton script, c'est donc a l'utilisateur de le faire "manuellement", en html ou js. Hors en html si on utilise un domContentLoaded sur le document, les imgs ne seront pas charger lors de l'exécution du script. De même en js, le chargement ce fait de manière asynchrone, faudrait en faite vérifié a chaque fin de chargement des imgs si elle le sont toutes et lancer le script si oui.... Mais bon autant faire une autre source pour ca
Pour le timeout je me suis aussi planté ![]() Tu dit que ton timeout est non lineaire, tu entends koi par là ? Penses pas me tromper cette fois ! mais tu déclares autant de timeout que de frame, passer par un setinterval consommera bcp moin de ressource. bye |
|
|
00
|
|
|
#6 |
|
Membre chevronné
![]() ![]() |
Ok, tu as aussi dû oublier le correcteur d'orthographe et tes lunettes
Le timeout linéaire (fonction affine de j) est en gras dans le source : j*delay/100 |
|
|
00
|
|
|
#7 | |
|
Membre éprouvé
![]() Inscription : février 2009 Messages : 352 ![]() |
bon apparemment tu tiens absolument pas comptes de mes remarques constructive, mais préfère me balancer mes erreurs, qu'elle soit orthographique (super, j'ai pas que ca a faire , que de relire tout mes msg, juste pour paraitre cultivé, mais toi tu en a assé pour le rapeller aux autres !! pas mal !!) ou celle de logique à là quels je me suis excusé(tu veux quoi d'autre?).
De plus met des lunettes aussi j'ai dit Citation:
|
|
|
|
00
|
|
|
#8 | ||||||
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 18 165 ![]() |
Merci
Citation:
Citation:
Bien vu, c'est corrigé Citation:
Citation:
Code :
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
||||||
|
00
|
|
|
#9 | |
|
Membre éprouvé
![]() Inscription : février 2009 Messages : 352 ![]() |
Citation:
|
|
|
|
00
|
|
|
#10 |
|
Expert Confirmé Sénior
![]() ![]() Inscription : avril 2004 Messages : 5 159 ![]() |
Il ne reste plus à combiner ce script avec le script du miroir
|
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : mars 2010 Messages : 3 ![]() |
Bonjour! ce script m'intéresse beaucoup, je voudrais l'adapter pour créer une bannière qui change d'image toute seule (sans bouton) je me galère à chercher un code depuis 3 jours sans résultat. Pourriez vous m'aider svp ?
(je ne sais pas programmer, juste utiliser le code et encore...)
|
|
|
00
|
|
|
#12 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 18 165 ![]() |
Il suffit de modifier le onload du body :
Code :
<body onload="window.monFondu = new Fondu('images');setInterval(function(){monFondu.change(true);},3000);">
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
00
|
|
|
#13 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 18 165 ![]() |
J'ai rajouté une option de défilement automatique dans la page d'exemple
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() Inscription : mars 2010 Messages : 3 ![]() |
Merci pour la réponse ultra rapide ! ça ne fonctionne pas chez moi, j'ai déjà la balise body pleine de préloads d'images...
code: Code :
<body onload="MM_preloadImages('/images/chauf2.gif','/images/indus2.gif','/images/buro2.gif','/images/clim2.gif','/images/sani2.gif','/images/ref2.gif','/images/part2.gif','../images/actualites1.gif','../images/presentation.jpg','../images/devis.jpg','../images/contact.jpg','../images/promos.jpg','../images/actualites.jpg','../images/musicoff.jpg')"> Votre code me met les images les unes au dessous des autres, le fade-in/fade-out fonctionne quand même. Je précise que je travaille sous dreamweaver et que je fais un site pour un copain... et surtout que je suis pas très doué pour encoder, mon dada c'est plutôt le graphisme, je dors avec photoshop sous l'oreiller... |
|
|
00
|
|
|
#15 | |
![]() ![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 32 861 ![]() |
Citation:
__________________
Ma page Developpez - Mon Blog Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr Humour |
|
|
|
00
|
|
|
#16 |
|
Invité de passage
![]() Inscription : mars 2010 Messages : 3 ![]() |
Bon, bah j'ai trouvé une solution, je me suis gratté les neurones et j'ai fait ma bannière sous flash, au final ça pèse pas lourd et c'est facile à insérer dans le code. Et puis qu'importe le flacon... j'ai obtenu le résultat escompté.
PS: Merci quand même ! |
|
|
00
|
|
|
#17 |
![]() ![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 32 861 ![]() |
un simple point virgule suffisait
__________________
Ma page Developpez - Mon Blog Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr Humour |
|
|
00
|
|
|
#18 |
|
Invité de passage
![]() Inscription : décembre 2003 Messages : 1 ![]() |
Bonjour,
je voudrais utiliser le script de Bovino plusieurs fois (9) sur une même page avec 9 séries de photos... Est ce possible ? Merci d'avance de votre aide ! |
|
|
00
|
|
|
#19 | ||||
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 18 165 ![]() |
Citation:
Citation:
Code :
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
||||
|
00
|
|
|
#20 |
|
Expert Confirmé Sénior
![]() Diem VOVivre Inscription : avril 2006 Messages : 2 772 ![]() |
merci Bovino
![]() je n'ai pas regardé le code de plus près. je déplore qu'il n'y a pas une partie réservé et commenté dans le code pour le paramétrage du délai entre fondu et délai de transition. je craignais de voir le chargement des images comme dans la démo mais ca va. pas de soucis particulier, simple d'utilisation : merci. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com