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

jQuery Discussion :

Transition d'images en fondu avec jquery


Sujet :

jQuery

  1. #1
    Membre très actif

    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 354
    Par défaut Transition d'images en fondu avec jquery
    Bonjour, ça fait très longtemps que je n'avais plus touché à jquery et je voudrais me passer de toutes les démos sur le net pour réaliser un simple fondu d'images à l'aide de fadeIn/fadeOut.

    Mon html serait une série de 3 images pour faire court :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <img id="img1" src="..." />
    <img id="img2" src="..." />
    <img id="img3" src="..." />
    Et dans mon script, je tente des choses :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    setTimeout(function(){ $("#img1").fadeOut('slow') }, 2500).setTimeout(function(){ $("#img2").fadeIn('slow') }, 2500);
    Je voudrais que les choses se déroulent simplement ainsi avec un enchaînement des actions :

    1a - fadeIn de l'image 1
    1b - l'image 1 reste 3 secondes en vue
    1c - fadeOut de l'image 1

    2a - fadeIn de l'image2
    ...

    et arrivé à l'image 3c, on revient à 1a !

    Rien de sorcier en théorie, mais j'ai du mal. Pouvez-vous me dire si je m'y prends mal et comment vous verriez la chose?

    Edit :

    j'ai tenté ça qui fait ce que je veux avec une image :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("#img1").fadeIn('slow').delay('2000').fadeOut('slow').delay('2000').fadeIn('slow');
    mais moi je veux enchainer la disparition de l'image 1 et l'arrivée de l'image 2. En gros faire ceci mais ça ne marche pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("#img1").fadeIn('slow').delay('2000').fadeOut('slow').$("#img2").fadeIn('slow');
    Merci

  2. #2
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Par défaut
    Bonjour,

    en tapant "jquery fadein" dans google, le premier lien t'amènes sur la documentation de la fonction (sur le site de jquery) et tu peux voir qu'elle peut prendre 2 arguments dont le 2ème est un callback en fin d'animation.

    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
    function myAnimation(num){
        // affiche l'image
        $("#img"+num).fadeIn('slow',function(){
            // attend 3 secondes
            setTimeout(function(){
                // cache l'image
                $("#img"+num).fadeOut('slow',function(){
                    // on passe à l'image suivante (avec boucle modulaire)
                    myAnimation(num%3+1);
                });
            },3000);
        });
    }
     
    myAnimation(1);

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    sinon y'a le plugin cycle de jquery qui est très simple a mettre en oeuvre
    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

    Venez sur le Chat de Développez !

  4. #4
    Membre très actif

    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 354
    Par défaut
    En vous remerciant pour vos réponses, je n'avais même pas pensé au récursif.

    quand je vois ton code aussi court qu'efficace Willpower ça me conforte dans le choix d'essayer de faire un maximum les choses sans passer par des modules de 400 lignes de codes.

    Le plugin cycle risque de bien m'intéressé aussi.

    Merci

    Bonne journée

  5. #5
    Membre très actif

    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 354
    Par défaut
    Bonsoir, je vous redérange pour le même sujet à un petit détail prêt.

    J'aimerais continuer sur la lancée du code de Willpower sans utiliser des librairies & co.

    Le fondu fonctionne mais l'image disparaît en laissant l'arrière plan vide le temps que l'image suivante arrive.

    Ce que j'aimerais, c'est que l'arrivée de l'image 2 en FadeIn se fasse PENDANT la disparition de l'image 1 en FadeOut, et non pas après.

    Comme sur l'exemple ci-dessous reprenant jquery cycle.

    http://jquery.malsup.com/cycle/basic.html

  6. #6
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207

  7. #7
    Membre très actif

    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 354
    Par défaut
    Mille mercis...

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

Discussions similaires

  1. Popup zoom image avec jquery
    Par sibile dans le forum jQuery
    Réponses: 3
    Dernier message: 03/04/2017, 11h39
  2. Réponses: 7
    Dernier message: 23/09/2009, 10h25
  3. Zoom sur image avec jquery.
    Par the-destroyer dans le forum jQuery
    Réponses: 2
    Dernier message: 27/07/2009, 10h42
  4. Réponses: 0
    Dernier message: 26/01/2009, 23h24
  5. Flash transition images en fondu
    Par lulucious dans le forum Flash
    Réponses: 8
    Dernier message: 25/09/2006, 19h48

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