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 :

Encadrer plusieurs DIV de DIV


Sujet :

jQuery

  1. #1
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Février 2013
    Messages : 20
    Par défaut Encadrer plusieurs DIV de DIV
    Bonjour tout le monde,

    Je suis actuellement en train de travailler sur un projet web et je suis bloqué. Mon problème est le suivant, je dois créer un slideshow avec un nombre d'éléments variable.

    En gros, mon slideshow, créé avec jquery, fonctionne avec les div suivantes :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <div id="slide1" class="slide">
        <div id="element1"></div>
        <div id="element2"></div>
        <div id="element3"></div>
    </div>
    <div id="slide2" class="slide">
        <div id="element4"></div>
        <div id="element5"></div>
        <div id="element6"></div>
    </div>
    (c'est donc un slideshow avec plusieurs éléments affichés en une fois)

    Les différents éléments (element1, 2 etc.) peuvent être présent ou pas (display:none). Mon problème est le suivant, j'aimerais encadrer mes div elementx automatiquement suivant s'ils sont affichés ou non. Donc concrètement, il faudrait que le code javascript compte 3 éléments :visible puis qu'il encadre le contenu de <div id="slidex" class="slide"></div>
    J'ai pensé à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("#elementx").wrap("<div id='slidex' class='slide'></div>");
    mais comment lui dire d'encadrer plusieurs éléments?

    D'avance merci,

    Kahndryl

  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 661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    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 661
    Billets dans le blog
    1
    Par défaut
    Tous dans le même div ?

    Wrap le premier et appende les autres ...
    http://jsfiddle.net/G8pET/
    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 !

  3. #3
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Février 2013
    Messages : 20
    Par défaut
    Déjà merci pour vos réponses.
    Je me suis peut-être mal exprimé, en fait
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <div id="slide1" class="slide">
        <div id="element1"></div>
        <div id="element2"></div>
        <div id="element3"></div>
    </div>
    <div id="slide2" class="slide">
        <div id="element4"></div>
        <div id="element5"></div>
        <div id="element6"></div>
    </div>

    Est le résultat que je veux obtenir, à la base je n'ai que
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        <div id="element1"></div>
        <div id="element2"></div>
        <div id="element3"></div>
        <div id="element4"></div>
        <div id="element5"></div>
        <div id="element6"></div>

    Et je voudrais encadrer de div tous les 3 éléments qui sont visibles. (Il se peut par exemple que le element3 soit caché, donc j'aurai :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <div id="slide1" class="slide">
        <div id="element1"></div>
        <div id="element2"></div>
        <div id="element4"></div>
    </div>
    <div id="slide2" class="slide">
        <div id="element5"></div>
        <div id="element6"></div>
    </div>

  4. #4
    Membre expérimenté Avatar de MaitreKaio
    Profil pro
    Freelance Java / Web / Mobile
    Inscrit en
    Juin 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Freelance Java / Web / Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2007
    Messages : 140
    Par défaut
    Tu peux utiliser wrapAll()

  5. #5
    Membre expérimenté Avatar de MaitreKaio
    Profil pro
    Freelance Java / Web / Mobile
    Inscrit en
    Juin 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Freelance Java / Web / Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2007
    Messages : 140
    Par défaut
    Zut j'ai posté en même temps que ta précision. Si je comprends bien, tu as n divs dans ton document, et tous les 3 divs tu veux créer un nouveau slide, sachant que certains divs sont cachés avec un 'display:none' ?

  6. #6
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Février 2013
    Messages : 20
    Par défaut
    Voilà c'est exactement ce que tu viens de dire...

    Merci pour ton temps

  7. #7
    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 661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    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 661
    Billets dans le blog
    1
    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 !

  8. #8
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Février 2013
    Messages : 20
    Par défaut
    C'est beau

    N'étant pas très familiarisé avec javascript et même jquery, pouvez-vous me dire à quel endroit je dois tester si element est visible?

  9. #9
    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 661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    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 661
    Billets dans le blog
    1
    Par défaut
    j'allais m'embarquer dans un test complexe ...
    il suffit en fait de ne selectionner que les visibles ...
    le temps de code ça et je reviens avec un exemple

    Ce fut en effet beaucoup moins long que prévu ...
    http://jsfiddle.net/G8pET/3/
    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 !

  10. #10
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Février 2013
    Messages : 20
    Par défaut
    Il me semble que ton lien ne fonctionne pas/plus

  11. #11
    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 661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    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 661
    Billets dans le blog
    1
    Par défaut
    sisi ...

    le sous-titrage pour les mal-accédant au fiddle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var divIdx=0
    $("[id^='element']:visible").each(function(){ 
        if($(this).index("[id^='element']:visible")%3==0){
        $(this).wrap($('<div/>').attr({"id":"slide"+(++divIdx),"class":"slide"}).css('border',"solid 2px red"));
    }
    else {
        $('#slide'+divIdx).append($(this)) 
    }
                                     })
    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 !

  12. #12
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Février 2013
    Messages : 20
    Par défaut
    Excellent! Je testerai cela ce soir et je viendrai mettre le sujet en résolu si ce code fonctionne

    Merci!

  13. #13
    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 661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    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 661
    Billets dans le blog
    1
    Par défaut
    si ce code fonctionne
    c'est beau l'insouciance de la jeunesse ...

    tu en doutes ?
    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 !

  14. #14
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Février 2013
    Messages : 20
    Par défaut
    Je ne voulais pas t’offenser et je me suis mal exprimé...
    J'entendais :
    "...si ce code fonctionne avec mon code déjà établi."

  15. #15
    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 661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    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 661
    Billets dans le blog
    1
    Par défaut
    jsfiddle est de nouveau accessible on dirait ...
    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 !

  16. #16
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Février 2013
    Messages : 20
    Par défaut
    En effet, je suis en train de tester c'est exactement ce que je voulais!! J'avais cherché tout le week-end. Je me réjouis de tester sur mon application

  17. #17
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Février 2013
    Messages : 20
    Par défaut
    Ton code fonctionne à merveille mais j'ai du mal à l'intégrer... En fait, ce que j'aimerais c'est un slideshow sur 3 éléments de ce type:
    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
    <div id="slide1" class="slide">
    <span id="personne1" class="el-cat-1"></span>
    <span id="personne2" class="el-cat-1"></span>
    <span id="personne3" class="el-cat-2"></span>
    </div>
    <div id="slide2" class="slide">
    <span id="personne4" class="el-cat-2"></span>
    <span id="personne5" class="el-cat-2"></span>
    <span id="personne6" class="el-cat-2"></span>
    </div>
    <div id="slide3" class="slide">
    <span id="personne7" class="el-cat-3"></span>
    <span id="personne8" class="el-cat-4"></span>
    </div>

    Les div ont été correctement placées grâce à ton aide mais j'ai un souci pour la suite.
    J'ai mis en place la possibilité d'afficher une seule catégorie (el-cat-2 par exemple) avec ce code :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     $('.categ').click(function(){
    var id = this.id;
    var el = '.el-' + id;                
    if($(el).is(':hidden')){
    $('[id^='personne']').fadeOut();
    $(el).delay(800).fadeIn();
    }else{
    $(el).fadeOut();
    }
    .categ étant des éléments de ce style :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <span id="cat-1'' class="categ">..</span>
    <span id="cat-2'' class="categ">..</span>
    <span id="cat-3'' class="categ">..</span>
    <span id="cat-4'' class="categ">..</span>
    J'aimerais qu'une fois une catégorie cliquée, le slideshow se refait de façon dynamique avec les éléments qui sont visibles.
    J'ai tenté d'ajouter ton code juste après le fonction click (ci-dessus) en appliquant un $("[id^='personne']").unwrap(); pour enlever les div créées précédemment mais cela ne donne pas le résultat que je souhaite .... :S

    Suis-je dans la bonne direction? Si oui comment puis-je faire pour que ce code fonctionne? Et si non, existe-t-il une méthode plus simple pour faire ce que je le souhaite?

    D'avance merci pour votre temps et votre aide...

  18. #18
    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 661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    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 661
    Billets dans le blog
    1
    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 !

  19. #19
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Février 2013
    Messages : 20
    Par défaut
    Merci SpaceFrog!

    Je suppose que je peux automatiser le wrap et unwrap lors du clique sur une catégorie...?

    Je testerai cela chez moi ce soir..

  20. #20
    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 661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    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 661
    Billets dans le blog
    1
    Par défaut
    peu importe l'evenement declencheur ...
    là je l'ai mis sur le click de boutons pour l'exemple, ne connaissant pas l'ergonomie souhaitée
    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. [FPDF] encadrer plusieurs cellules
    Par swingstar dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 14/08/2011, 11h28
  2. Réponses: 1
    Dernier message: 17/02/2011, 10h29
  3. Déplacement div dans div conteneur
    Par tecap dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 15/11/2007, 14h26
  4. [W3C / DIV] positionnement DIV perturbés
    Par speedev dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 07/08/2006, 11h01
  5. [CSS] Bloc imbriqué (div/div et div/ul)
    Par Yali dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 20/07/2005, 07h57

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