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

JavaScript Discussion :

Tout réafficher après suppression de "étirer"


Sujet :

JavaScript

  1. #21
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 828
    Points
    5 828
    Billets dans le blog
    1
    Par défaut
    Je suis admiratif ; serais-ce trop te demander de rajouter des commentaires dans ton code car comme tu dois t'en douter, il faut que je le comprenne pour l'adapter ; et d'ailleurs, besoin initial : quand on fait "ouvrir", on a (par exemple) test1 et "fermer", plus rien ; or, mon besoin réel serait sur "ouvrir" :
    test1-1
    test1-2
    test1-3
    test1-4
    test1-5
    et sur "fermer" seulement (par exemple)
    test1-1
    test1-2
    (en gros, masquer une partie mais pas tout)(et bien sûr rajouter des commentaires)

  2. #22
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 828
    Points
    5 828
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    pour chercher à comprendre le code, j'ai entrepris de le copier en local, par contre, ça ne marche pas du tout (ça affiche les 3 "ouvrir" et si on clique dessus, rien) ; voilà mon fichier :
    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
     
    <!DOCTYPE html>
    <html>
      <head>
        <meta content="text/html; charset=windows-1252" http-equiv="content-type">
        <title></title>
        <style>
          .panel .contenu {
        display:none;    
    }
     
    .panel.expanded .contenu {
        display:block;
        position:absolute;
        background: #CCC;
        padding: 1em;
    }
     
    .panel .panel-toggle-btn:before {
        content:"Ouvrir";
    }
     
    .panel.expanded .panel-toggle-btn:before {
        content:"Fermer";
    }
    </style>
        <script>
          function expand($panelToOpen){
      $(".panel").not($panelToOpen).removeClass("expanded");
      $panelToOpen.toggleClass("expanded");  
    }
     
    function init() {
        var panelToExpand = 0; //déplie le premier panel par défaut
        var match = window.location.hash.match(/expanded=(\d+)/);
        if(match != null && match[1] != null){
            panelToExpand = parseInt(match[1]);      
        }  
        expand( $(".panel").eq(panelToExpand) );
     
        $(".panel").each(function(p){
            $(this).find('.panel-toggle-btn').on('click', function(e){
                e.preventDefault();
                expand( $(this).closest('.panel') );
                window.location.hash = "expanded="+p;
            });
        });
    };
     
    init();
    </script>
     
      </head>
      <body>
     <section class="panel">
      <a class="panel-toggle-btn" href="#"></a>
      <div class="contenu">
          test1
      </div>
      </section>
      <section class="panel">
      <a class="panel-toggle-btn" href="#"></a>
      <div class="contenu">
          test2
      </div>
      </section>
      <section class="panel">
      <a class="panel-toggle-btn" href="#"></a>
      <div class="contenu">
          test3
      </div>
      </section>
      </body>
    </html>
    qu'est-ce qui ne va pas ?

  3. #23
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 079
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 079
    Points : 44 662
    Points
    44 662
    Par défaut
    qu'est-ce qui ne va pas ?
    si tu utilises jQuery il serait bon de charger la bibliothèque

  4. #24
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 828
    Points
    5 828
    Billets dans le blog
    1
    Par défaut
    T'as raison ; ça peut servir (j'avais pas remarqué que le code faisait appel à JQuery). Mais je viens de rajouter dans le head <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.0.3.js"></script> et toujours rien ; pourquoi ?

  5. #25
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 079
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 079
    Points : 44 662
    Points
    44 662
    Par défaut
    Il faut simplement ne pas oublier de déclencher le script sur le load de la page, ou le mettre à la fin de ta page.

  6. #26
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 828
    Points
    5 828
    Billets dans le blog
    1
    Par défaut
    Désolé de pas comprendre, mais déclencher le script, ça veut dire quoi ?

  7. #27
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    J'ai proposé le code en jQuery histoire que ça ne me prenne pas trop de temps, mais c'est tout à fait possible de faire sans. La logique est là, difficile de mettre de commentaires car je ne sais pas me mettre dans la peau d'un débutant (pour moi tout est clair )

    Si tu choisis de copier-coller mon code et par conséquent d'intégrer jQuery, pose-toi un moment avant. jQuery est une excellente librairie, elle fait gagner un temps fou et en a aidé plus d'un ici. Seulement comme toutes les librairies elle demande un temps d'apprentissage. Et on ne va certainement pas t'apprendre à l'utiliser dans ce topic.

    Bref, il te faut soit comprendre la logique de mon code et l'adapter pour toi, soit prendre le temps d'apprendre à te servir de jQuery. Dans tous les cas ça demande un minimum d'effort et de temps à consacrer. Je tiens à le préciser vu la longueur du topic jusqu'ici

  8. #28
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 828
    Points
    5 828
    Billets dans le blog
    1
    Par défaut
    Gloops, c'est pas gagné...

  9. #29
    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
    Je plussoie pour JQuery, d'autant plus que les tutos Jquery sur ce forum sont à la portée de tous ...

    http://javascript.developpez.com/cou...meworks#jquery

  10. #30
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 828
    Points
    5 828
    Billets dans le blog
    1
    Par défaut
    Ca y est ; j'ai trouvé comment charger la bibiothèque jQuery et déclencher le script après le load de la page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      <script src="jquery-1.10.2.js"></script>
      <script>window.onload=init;</script>
    Et même si je suis encore loin de maîtriser jQuery et ses sélecteurs (forte imbrication avec le CSS si j'ai bien compris) y a un truc que je trouve pas : comment faire pour qu'au démarrage, tous les menus soient repliés ?

  11. #31
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var panelToExpand = 0; //déplie le premier panel par défaut
    Cette fois tu ne peux pas me reprocher de ne pas avoir mis de commentaires

  12. #32
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 828
    Points
    5 828
    Billets dans le blog
    1
    Par défaut
    Mais je ne t'ai rien reproché !

    Et ce commentaire, y était déjà...sauf que même si je modifie le paramètre, il y en a toujours un qui s'ouvre (j'ai pas vérifié, mais ça doit prendre le modulo 3...)

    EDIT : je me suis trompé ; l'URL est modifiée, mais si j'enlève le hash et avec cette modif :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        var panelToExpand = 4;
    ...
        expand( $(".panel").eq(panelToExpand) );
    ça ne déplie plus rien !

  13. #33
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    la solution de SylvainPV correspond exactement à ton besoin. (http://jsfiddle.net/nbSHt/3/)

    Est-ce si difficile de l'adapter à "ton" besoin ??

  14. #34
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 828
    Points
    5 828
    Billets dans le blog
    1
    Par défaut
    En fait, même si c'est un peu plus long, je vais essayer de le faire sans jQuery, car apparemment, sur les serveurs du boulot (là où ça doit tourner), jQuery ne semble pas marcher (même après avoir écouté Daniel Hagnoul) :
    Citation Envoyé par danielhagnoul Voir le message
    Bonjour

    Avec <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.0.3.js"></script> c'est normal !

    Il faut utiliser la branche 1, actuellement la version 1.10.2, pour être compatible avec les navigateurs obsolètes.

  15. #35
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    jQuery est une librairie JavaScript. JavaScript = Client. Rien à voir avec tes serveurs du boulot

  16. #36
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 828
    Points
    5 828
    Billets dans le blog
    1
    Par défaut
    Oui Sylvain ; je reconnais que je n'ai pas réfléchi ; mais cela dit, ça ne tourne pas sur mon PC du boulot...
    Système d’exploitation Microsoft Windows 7 Professionnel
    Version 6.1.7601 Service Pack 1 Build 7601

  17. #37
    Invité
    Invité(e)
    Par défaut
    => inclure la librairie jQuery via Google Hosted Libraries :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    Cela suppose d'être connecté à internet !

    Sinon, il faut télécharger le fichier js sur ton ordi.
    Ou copier-coller le script qui se trouve dans http://ajax.googleapis.com/ajax/libs.../jquery.min.js

    comment faire pour qu'au démarrage, tous les menus soient repliés ?
    remplacer :
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    var panelToExpand = 0; //déplie le premier panel par défaut
    par :
    Dernière modification par Invité ; 04/11/2013 à 11h00.

  18. #38
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 828
    Points
    5 828
    Billets dans le blog
    1
    Par défaut
    Merci, car grâce à ça :
    Ou copier-coller le script qui se trouve dans http://ajax.googleapis.com/ajax/libs.../jquery.min.js
    ça marche ; donc il faut de nouveau que je regarde l'adaptation à mon cas (mais j'ai d'autres choses à résoudre avant) et sinon, pour le problème des menus non repliés à l'init, depuis le 01/11 14h51, j'avais trouvé une solution...

  19. #39
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 828
    Points
    5 828
    Billets dans le blog
    1
    Par défaut
    Je viens de réessayer ce soir et aucune des 3 solutions proposées par jreaux62 lundi ne fonctionne plus...

  20. #40
    Invité
    Invité(e)
    Par défaut
    Bali et Balo sont sur un bateau. Bali tombe à l'eau. Qu'est-ce qui reste ?
    C'est ballot.

    3900 messages, et toujours pas capable de :
    • montrer le TON code
    • afficher un éventuel message d'erreur
    • faire un débogage* préliminaire pour cibler où pourrait se situer l'erreur

    * En JavaScript, un simple alert('ok ?'); suffit généralement.
    Il faut juste le placer judicieusement.

    * Sur Firefox, il existe Firebug (que tu connais !).
    Encore faut-il prendre le temps de comprendre son fonctionnement :
    => Maîtriser Firebug, l'indispensable extension Firefox pour le développement web
    (ce lien t'a DEJA été donné)

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. Réponses: 8
    Dernier message: 04/04/2013, 16h37
  2. Après suppression, ASP.dll revient toute seule
    Par Soft Concept dans le forum ASP
    Réponses: 3
    Dernier message: 18/11/2009, 13h13
  3. Suppression d'un simple quote
    Par Franck2mars dans le forum VB.NET
    Réponses: 3
    Dernier message: 10/01/2007, 10h33

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