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 :

Boucle for sur éléments


Sujet :

jQuery

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 226
    Points : 225
    Points
    225
    Par défaut Boucle for sur éléments
    Bonjour à tous !

    Je ne parviens pas à faire une simple boucle for avec ceci...
    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
    jQuery(function() {
     
        $(".nomProjet").hide();
     
        $("#projet1").hover(
            function() {$(".projet1").show();$(".projet1").stop().animate({top:14}, 300);},
            function() {$(".projet1").stop().animate({top:160}, 300);}
        );
        $("#projet2").hover(
            function() {$(".projet2").show();$(".projet2").stop().animate({top:14}, 300);},
            function() {$(".projet2").stop().animate({top:160}, 300);}
        );
        $("#projet3").hover(
            function() {$(".projet3").show();$(".projet3").stop().animate({top:14}, 300);},
            function() {$(".projet3").stop().animate({top:160}, 300);}
        );
        $("#projet4").hover(
            function() {$(".projet4").show();$(".projet4").stop().animate({top:14}, 300);},
            function() {$(".projet4").stop().animate({top:160}, 300);}
        );
        $("#projet5").hover(
            function() {$(".projet5").show();$(".projet5").stop().animate({top:14}, 300);},
            function() {$(".projet5").stop().animate({top:160}, 300);}
        );
     
    });
    J'ai bien tenté des choses du genre...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for(var i = 1; i >= 5; i ++) {
        $("#projet'+i+'").hover(
            function() {$(".projet'+i+'").show();$(".projet'+i+'").stop().animate({top:14}, 300);},
            function() {$(".projet'+i+'").stop().animate({top:160}, 300);}
        );
    }
    En vain !

    Si besoin, voici le bout de code html...
    Code html : 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
    <body>
        <a class="lienProjet" id="projet1" href="">
            <div class="projet">
                <h3>Projet</h3>
                <p class="nomProjet projet1">Projet 1</p> <!-- il doit afficher ce paragraphe -->
            </div>
        </a>
        <a class="lienProjet" id="projet2" href="">
            <div class="projet">
                <h3>Projet</h3>
                <p class="nomProjet projet2">Projet 2</p> <!-- il doit afficher ce paragraphe -->
            </div>
        </a>
        <a class="lienProjet" id="projet3" href="">
            <div class="projet">
                <h3>Projet</h3>
                <p class="nomProjet projet3">Projet 3</p> <!-- il doit afficher ce paragraphe -->
            </div>
        </a>
        <a class="lienProjet" id="projet4" href="">
            <div class="projet">
                <h3>Projet</h3>
                <p class="nomProjet projet4">Projet 4</p> <!-- il doit afficher ce paragraphe -->
            </div>
        </a>
        <a class="lienProjet" id="projet5" href="">
            <div class="projet">
                <h3>Projet</h3>
                <p class="nomProjet projet5">Projet 5</p> <!-- il doit afficher ce paragraphe -->
            </div>
        </a>
    </body>
    Et le css...
    Code css : 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
    .lienProjet {
        text-decoration:none;
    }
    .projet {
        display:inline-block;
        width:150px;
        height:100px;
        text-align:center;
        overflow:hidden;
        background-color:#0CC;
    }
    .nomProjet {
        position:relative;
        top:160px;
        left:0;
        width:100%;
        padding:2% 0;
        color:#FFFFFF;
        font-weight:bold;
        background-color:rgba(0, 0, 0, 0.5);
    }

    Évidemment, j'en ai plus d'une centaine à faire, pas mortel en soi, mais si la liste venait à grandir...
    Pour l'exemple, j'en ai mis 5.

    Est-ce possible ?

    Si une bonne âme pouvait me venir en aide svp, merci !

    Dans l'attente, passez une bonne journée !
    Fichiers attachés Fichiers attachés

  2. #2
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("[id^='projet']").each(  function(){ ...

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 226
    Points : 225
    Points
    225
    Par défaut
    Hello spaceFrog,

    Merci pour ta réponse !

    Suis un peu débutant, je ne comprends pas bien ceci... [id^='projet'], pourrais-tu m'expliquer stp..

    Une autre petite question (une fois que j'aurais compris le reste), la boucle for, je la mets avant la boucle each ? après ? ou elle n'est carrément plus utile ?

    Merci pour tes lumières.

  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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    =< collection des éléments dont l'id commence (^) par projet ...

    le each c'est la boucle ...

Discussions similaires

  1. [AC-2003] Boucle For sur colonnes
    Par thebigrensky dans le forum VBA Access
    Réponses: 0
    Dernier message: 27/01/2010, 15h52
  2. Boucle FOR sur certaines colonnes
    Par coralie59 dans le forum MATLAB
    Réponses: 1
    Dernier message: 25/02/2009, 11h54
  3. [BASH] boucle for sur des fichiers, recuperation du chemin ?
    Par zevince dans le forum Shell et commandes GNU
    Réponses: 13
    Dernier message: 13/11/2007, 10h47
  4. Boucle for sur fichiers sauf un !
    Par coincoin22 dans le forum Linux
    Réponses: 4
    Dernier message: 13/08/2007, 14h41
  5. [Eval] Problème de boucle for sur des tableaux
    Par battle_benny dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/01/2006, 23h55

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