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 :

Animer le fond d'un bouton avec jQuery


Sujet :

jQuery

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 18
    Par défaut Animer le fond d'un bouton avec jQuery
    Bonjour tout le monde,

    J'espère que vous profitez tous bien de ce temps agréable que nous avons aujourd'hui.

    De mon côté Je souhaite réaliser un bouton avec un background animé.

    Voici le code HTML de ce bouton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a class="bouton" href="http://www.google.com">google</a>
    Voici le code CSS de ce bouton :
    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
    .bouton {
        height:77px;
        width:400px;
        display:block;
        cursor:pointer;
        margin: 0 auto;
        background: url(btn.png);
    }
    .bouton span.hover {
        height:77px;
        width:400px;
        display:block;
        cursor:pointer;
        margin: 0 auto;
        background: url(btn.png) no-repeat left bottom;
    }
    Voici le code jQuery de ce bouton :
    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
      $(document).ready(function(){
     
                    $('.bouton').append('<span class="hover"</span>').each(function(){
     
                        var $anime = $('span.hover', this).css('opacity',0);
     
                        $(this).hover(function(){
                                $anime.stop().fadeTo(800,1);
                        },
     
                        function(){
                                $anime.stop().fadeTo(800,0);
                        });
     
                    });
     
            });
    Lorsque la balise <a> est vide, l'animation est parfaitement exécuté, cependant lorsque je rajoute du texte, l'animation est décalé par ce dernier vers le bas.
    http://imageshack.us/photo/my-images...aptureebn.jpg/

    J'ai retourné le problème dans tout les sens et ne parviens pas à faire en sorte que l'animation fonctionne avec du texte centré.

    Voila j'espère que vous pourrez me venir en aide.

    Bon weekend à toutes et tous.

    Amicalement,

    Adel

  2. #2
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 9
    Par défaut
    Pourquoi ajoute tu un span pour simuler le hover ? je ne suis pas sur de comprendre ta technique.

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Ben ça semble plutôt normal... Si ton lien contient du texte, le texte occupe de l'espace, donc quand tu fais le append, vu les dimensions que tu donnes aux éléments, il n'y a pas de place pour mettre le span dans la largeur, donc on passe à la ligne.
    Tu vas donc devoir positionner les éléments pour qu'ils se superposent.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    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
    Tu pourrais aussi juste jouer sur la position d'une image en degradé mise en background ?
    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 !

Discussions similaires

  1. appliquer onclick sur un bouton avec jquery
    Par nana_md dans le forum jQuery
    Réponses: 1
    Dernier message: 10/09/2013, 15h06
  2. Réponses: 0
    Dernier message: 11/07/2011, 10h44
  3. Bouton avec animation flash
    Par Lebas dans le forum Composants
    Réponses: 1
    Dernier message: 11/09/2008, 13h25
  4. bouton avec gif animé ?
    Par Mihalis dans le forum Delphi
    Réponses: 2
    Dernier message: 28/11/2006, 12h34
  5. Afficher un fond en arrière plan avec des boutons
    Par eGen dans le forum Agents de placement/Fenêtres
    Réponses: 15
    Dernier message: 03/04/2005, 23h37

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