IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Fondu entre images de fond


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2014
    Messages : 9
    Points : 12
    Points
    12
    Par défaut Fondu entre images de fond
    Bonjour,
    je débute en JS et j’essaie de créer un script pour faire un diaporama automatique.

    J'ai bien réussi à le créer sauf que maintenant j'aimerai faire un fondu sur entre chaque image.

    Voici mon script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    var num = 0;
    function diapHome(bloc) {
    	if( num != 4 ) {
    		num = num + 1;
    	}
    	else {
    		num = 1;
    	}
    	document.getElementById(bloc).style.backgroundImage = "url(img/bgBandeau" + num + ".jpg)";
    }
    /*function bkgFadeOut(){
    	$('#bandeau1').fadeOut();
    }
    function bkgFadeIn(){
    	$('#bandeau1').fadeIn();
    }*/
    setInterval( function(){ diapHome("bandeau1") }, 10000 );
    /*setInterval(function(){bkgFadeOut();}, 9900);
    setInterval(function(){bkgFadeIn();}, 10000);*/
    Comme vous pouvez le constater, j'ai essayé une solution avec fadein/fadeout mais qui est moche (on voit le fond entre chaque image...).

    Merci pour votre aide !

  2. #2
    Membre averti
    Profil pro
    à la bougie alors
    Inscrit en
    Mai 2006
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : à la bougie alors

    Informations forums :
    Inscription : Mai 2006
    Messages : 224
    Points : 362
    Points
    362
    Par défaut
    Bonjour,

    En attendant mieux, une proposition 'à la main', i.e. sans jQuery :
    - dans un container en 'position:relative', deux images en 'position :absolute' (donc deux images l'une sur l'autre)
    - lors du démarrage du fading, la première image (le z-index le plus bas donc) reçoit l'url de la deuxième image, avec une 'opacity:1', la deuxième image reçoit l'url de l'image a afficher avec une 'opacity:0', la fonction de fading fait varier l'opacité des deux images de façon à ce qu'à la fin, la première image termine avec 'opacity:0' et la deuxième avec 'opacity:1'.

    Tu devrais avoir un fondu d'une image sur l'autre.

    CSS Image Opacity / Transparency : http://www.w3schools.com/css/css_image_transparency.asp

  3. #3
    Membre régulier
    Homme Profil pro
    Lycéen
    Inscrit en
    Mars 2014
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Belgique

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mars 2014
    Messages : 48
    Points : 114
    Points
    114
    Par défaut
    Salut,

    Je suis d'accord avec la proposition de lysandro, Il faudrait utiliser 2 conteneurs. Ainsi, on ne voit jamais le fond. Un exemple en jquery:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    <div id="container">
        <img id='image2' />
        <img id="image1"/><!-- la 2ème image se met automatiquement au dessus de la première :) -->
    </div>
    <script src='jquery.js'></script>
    <script>
    var num = 1;
    var intervalle = setInterval(function(){
            num++;
            if(num==5) num=1;
    	$("img#image2").css("background-image", "url(img/bgBandeau" + num + ".jpg)");//background de l'image derrière
      	$("img#image1").fadeOut(1200, function(){
      		$(this)
      			.css("background-image", "url(img/bgBandeau" + num + ".jpg)") //quand la transition est terminée, on remet les images à l'état initial
      			.fadeIn(0);
      	});
    }, 5000);
    </script>

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 966
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    il existe Galerie avec effet de fondu.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2014
    Messages : 9
    Points : 12
    Points
    12
    Par défaut
    Merci beaucoup pour vos réponses !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [FLASH MX] Fondu entre deux images
    Par yanng dans le forum EDI/Outils
    Réponses: 4
    Dernier message: 06/04/2010, 09h33
  2. Fondu entre 2 images.
    Par defacta dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 14/08/2009, 09h57
  3. Transition en Fondu entre deux images
    Par Zairakai dans le forum Flash
    Réponses: 5
    Dernier message: 19/02/2009, 21h07
  4. [Formulaire] Fondu entre images
    Par seb92400 dans le forum IHM
    Réponses: 10
    Dernier message: 08/03/2007, 10h05
  5. [FLASH MX] AS fondu entre images
    Par leanita dans le forum Flash
    Réponses: 6
    Dernier message: 23/03/2006, 17h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo