Partage
  • Partager sur Facebook
  • Partager sur Twitter

Fermer une animation ne marche pas...

...avec jQuery

Sujet résolu
    19 avril 2011 à 14:48:19

    Bonjour à tous,

    Je me ramene avec un probleme qui me prend le chou depuis 2 jours...

    Je suis en train de crée un petit plugin jQuery de "zoombox" pour faire une gallerie.
    Pour ce plugin j'ai plusieurs fonctions :

    -Fonction open() appelée lorsque je clique sur un image, elle fait apparaitre une div qui obscurcie le fond, une div popup dans la quelle est clonée l'image et un bouton close.

    -Fonction center() qui...centre la popup ! (c'est pas vrai?! :D )

    -Fonction close() qui cache la div obscurcie et la popup.

    C'est la fonction close() qui me pose un soucis.
    Elle est appelée dans 2 cas.
    Soit quand, on clique sur la div "background" (celle qui obscurcie), soit quand on clique sur le bouton close.

    Celle ci marche tres bien via le Background, mais quand je clique sur le bouton close...rien ne se passe. Il apparait grace à un .hover au survol de ma popup, donc il existe bien vu que je le vois apparaitre, mais au clique...rien ! J'ai essayé de mettre un alert("test") mais rien non plus...Alors si quelqu'un voit d'ou peut venir mon soucis...Merci d'avance !!!

    function close() {
    
        $('.popup').fadeOut(300);
        $('#background').fadeOut(300);
    }
    


    $(function () {
    
        $('body').append('<div id="background"></div>');//On crée le fond qui assombrit
        $('body').append('<div class="popup"></div>');//On crée la Popup
    
            center();
        $('.bouton').click(function() { //La popup apparait
            open(this);
            center();
        });
    
        cross();
    
        $('#background').click(function() { //Ici, la fonction close() marche sans probleme
            close();
        });
    
        $('.cross').click(function() { //Ici, la fonction ne marche pas, et un alert non plus...
            close();
        });
    });
    

    function cross() { //La fonction qui fait apparaitre/disparaitre le bouton close au survol
    
        $('.popup').hover(function() {
    
           $('.cross').stop().fadeIn(200);
        },function() {
    
            $('.cross').fadeOut(200);
        });
    }
    


    Si il vous manque des infos, n'hésitez pas, merci d'avance !
    • Partager sur Facebook
    • Partager sur Twitter
      19 avril 2011 à 17:01:21

      Si ton alert() fonctionne pas au clic sur le bouton close c'est que ton sélecteur est pas bon ?
      • Partager sur Facebook
      • Partager sur Twitter
        19 avril 2011 à 17:41:13

        Ce problème est résolu:
        La fonction..
        $('.cross').click(function() {
                close();
            });
        

        ..était définie avant la création de la div avec la class cross... forcément ça marche moins bien... ^^
        • Partager sur Facebook
        • Partager sur Twitter
          20 avril 2011 à 11:58:09

          Trop fort carssinounet =)

          Merci =)
          • Partager sur Facebook
          • Partager sur Twitter

          Fermer une animation ne marche pas...

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown