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 :

Actions identiques pour calques différents ?


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 6
    Par défaut Actions identiques pour calques différents ?
    Bonjour,

    J'aimerai afficher des info bulles "à la con" en jquery, qui sont exactement identiques a part leur position en Y. Mon problème c'est : j'ai plusieurs claques avec id quasi identiques (qui symbolisent les info bulles) :

    infobulle1
    infobulle2
    infobulle3
    infobulle4 etc.

    De plus, j'ai différents liens avec des id quasi identiques

    affiche_infobulle1
    affiche_infobulle2
    affiche_infobulle3
    affiche_infobulle4 etc.

    Ce que j'aimerai c'est créer une seule et même fonction qui fasse le fade pour chaque infobulle lorsque l'on clique sur chaque lien sans faire donc :

    fonction1 => lien1 + infobulle 1
    fonction2 => lien2 + infobulle 2
    fonction3 => lien3 + infobulle 3


    Un code pour comprendre (ce que j'ai aujourd'hui) :

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    		<script type="text/javascript"> 
    		$(document).ready(function(){ 
     
                     $("#info_bulle1").hide()
    		 $("#info_bulle2").hide()
     
    			$("#affiche_info1").mouseover(function () {
    				  $("#info_bulle1").fadeIn();
    		    });	
    			$("#affiche_info1").mouseout(function () {	
    				  $("#info_bulle1").fadeOut();
    		    });	
    			/////////////////////////////////////////
     
    			$("#affiche_info2").mouseover(function () {
    				  $("#info_bulle2").fadeIn();
    		    });	
    			$("#affiche_info2").mouseout(function () {	
    				  $("#info_bulle2").fadeOut();
    		    });
    			/////////////////////////////////////////
    	</script>
     
    & le html : 
     
    			<div class="info_bulle" id="info_bulle1">			
    			</div>
     
    			<div class="info_bulle" id="info_bulle2">		
    			</div>

    Mais je ne vois pas comment ne pas passer par cette méthode... on m'a parlé de classes en jquery, mais je ne vois pas comment faire, bref si quelqu'un a une solution à avancer, je suis entièrement preneur

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir, voici un exemple :

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta name="Author" content="Daniel Hagnoul" />
        <title>Page type</title>
        <style type="text/css">
            body {
                background-color:#696969;
                color:#000000;
                font-family:Arial, Helvetica, sans-serif;
                font-size:medium;
                font-style:normal;
                font-weight:normal;
                line-height:normal;
                letter-spacing:normal;
            }
            h1,h2,h3,h4,h5 {
                font-family:"Times New Roman", Times, serif;
            }
            div,p,h1,h2,h3,h4,h5,h6,ul,ol,dl,form,table,img {
                margin:0px;
                padding:0px;
            }
            p {
                padding:6px;
            }
            ul,ol,dl {
                list-style:none;
                padding-left:6px;
                padding-top:6px;
            }
            li {
                padding-bottom:6px;
            }
            div#conteneur {
                width:95%;
                margin:12px auto;
                padding:6px;
                background-color:#FFFFFF;
                color:#000000;
                border:1px solid red;
                font-size:0.8em;
            }
            div.affiche_info {
                width:100px;
                height:100px;
                margin:24px;
                border:1px solid #000099;
            }
            div.info_bulle {
                display:none;
                width:100px;
                height:100px;
                border:1px solid red;
            }
        </style>
        <script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.js"></script>
        <script type="text/javascript">
            $(document).ready(function(){
                $(".affiche_info").hover(                                                    
                    function() {
                        $("#"+("info_bulle" + (this.id).slice(12))).fadeIn("slow");
                    }, 
                    function() {
                        $("#"+("info_bulle" + (this.id).slice(12))).fadeOut("slow");
                    }
                );
             });
        </script>
    </head>
    <body>
        <div id="conteneur">
            <div class="affiche_info" id="affiche_info1">    
                <p>Info n° 1</p>        
            </div>
            <div class="info_bulle" id="info_bulle1">        
                <p>Info bulle n° 1</p>        
            </div>
     
            <div class="affiche_info" id="affiche_info2">            
                <p>Info n° 2</p>        
            </div>
            <div class="info_bulle" id="info_bulle2">        
                <p>Info bulle n° 2</p>        
            </div>
        </div>
    </body>
    </html>

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 6
    Par défaut
    Merci beaucoup pour ton aide, je vais dès à présent regarder de plus prêt ce code ! Encore merci !

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/02/2013, 10h54
  2. Réponses: 3
    Dernier message: 27/12/2008, 19h24
  3. 2 actions (submit) pour un même formulaire.
    Par spirou dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 02/01/2006, 02h31
  4. Réponses: 2
    Dernier message: 30/06/2005, 14h58
  5. Réponses: 9
    Dernier message: 10/08/2004, 17h13

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