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 :

Retour arrière => Refresh


Sujet :

JavaScript

  1. #61
    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
    La fonction init est appelée nulle part dans ton code.

    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    window.onload = init;

    ou alors init(); en déplaçant le script en bas de <body> pour s'assurer que le DOM a été chargé avant l'appel, comme c'est le cas sur le jsfiddle.

  2. #62
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 430
    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 430
    Points : 5 784
    Points
    5 784
    Billets dans le blog
    1
    Par défaut
    Merci : <body onload="init()">.

    j'avais déjà vu que ça revenait au même que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <script>
    window.onload = init;
    </script>

  3. #63
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 430
    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 430
    Points : 5 784
    Points
    5 784
    Billets dans le blog
    1
    Par défaut
    Ce matin, plus de lien sur "lev0" et "lev02'
    (et là, où je suis, j'ai pas le PC sur lequel jsfiddle marche...)

  4. #64
    Invité
    Invité(e)
    Par défaut
    Ce code fonctionne :
    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
    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
    <DOCTYPE html>
    <html>
    <head>
    	<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
     	<title>test</title>
    <style>
    #navigation { width:500px; }
    #navigation .menu { float:left; width:50%; margin:0; padding:0; }
    #navigation ul li { list-style:none; }
    #navigation ul li ul li { border-left:2px solid #ccc; padding-left:5px; } /* un peu de déco */
    </style>
    </head>
    <body onload="init();">
     
    <div id="navigation">
          <ul class="menu">
            <li><a data-expand="lev0">lev0</a>
              <ul id="lev0">
                <li>lev1
                  <ul>
                    <li>lev2</li>
                    <li>lev2</li>
                    <li>lev2</li>
                    <li>lev2</li>
                  </ul>
                </li>
                <li>lev1</li>
                <li>lev1
                  <ul>
                    <li>lev2</li>
                    <li>lev2</li>
                  </ul>
                </li>
              </ul>
            </li>
          </ul>
     
          <ul class="menu">
            <li><a data-expand="lev02">lev02</a>
              <ul id="lev02">
                <li>lev1
                  <ul>
                    <li>lev2</li>
                    <li>lev2</li>
                    <li>lev2</li>
                    <li>lev2</li>
                  </ul>
                </li>
                <li>lev1</li>
                <li>lev1
                  <ul>
                    <li>lev2 </li>
                    <li>lev2</li>
                  </ul>
                </li>
              </ul>
            </li>
          </ul>
    </div>
     
    <script type="text/javascript">
    function expand(id,nameitem,expanded){
            var Item = document.getElementById(id);
            if(expanded=== undefined){
                    expanded = (Item.style.display === "none") ; //toggle expanded state
            }
            Item.style.display =  expanded ? "block" : "none";
            window.location.hash = expanded ? "#"+nameitem : "#";
    }
    function init(){
            expand("lev0","lev0", window.location.hash=="#lev0");
            expand("lev02","lev02", window.location.hash=="#lev02");
            var links = document.querySelectorAll("ul.menu li a");
            for(var e=0; e<links.length; e++){
                    links[e].addEventListener("click", function(){
                            var itemName = this.getAttribute("data-expand");
                            console.log(itemName);
                            if(itemName != null){
                                    expand(itemName, itemName);
                            }
                    });
            }
    }
    </script>
    </body>
    </html>

  5. #65
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 430
    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 430
    Points : 5 784
    Points
    5 784
    Billets dans le blog
    1
    Par défaut
    Merci de m'avoir répondu (si vite), mais autant ça marche sous FF, autant ça marche pas avec IE8 ; pourquoi ? (et est-ce qu'on pourrait faire marcher le code sous IE car c'est le navigateur par défaut de mon entreprise ?) (mais le code de SylvainPV, même pas sous FF...). Et aurais-tu la gentillesse de commenter dans ton code les lignes 7 à 10 et 73 à 82 ?

  6. #66
    Invité
    Invité(e)
    Par défaut
    Bonjour Laurent,

    peux-tu nous ré-expliquer à quoi ça va TE servir ?
    • c'est pour un menu ?
    • avec 2 listes ? ou plus (3, 4,...) ?


    + donner un exemple de code CONCRET sur lequel tu veux l'utiliser (sans lev1, lev2, mais avec de VRAIS valeurs).

    J'ai un peu l'impression qu'on s'embarque dans une galère qui prend l'eau...

  7. #67
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 430
    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 430
    Points : 5 784
    Points
    5 784
    Billets dans le blog
    1
    Par défaut
    Ce que je dois faire, c'est un sitemap.
    Donner un exemple concret, ça va être dûr vu que c'est de l'intranet (et qu'aucun lien ne marcherait), mais la spéc., c'est d'obtenir à peu près le look de cette page : http://www.schneider-electric.fr/sit...n-du-site.page (dont le codage ne me plaît pas du tout ; c'est pourquoi je veux tout refaire de 0) mais à laquelle je pensais rajouter en plus la fonction "expand/collapse".

    EDIT : ce sitemap comporte 6 items à décrire, et comme ça doit tenir en largeur sur 790 pixels (c'est la spéc. aussi), je comptais les faire tenir sur 2 lignes (je pense)

  8. #68
    Invité
    Invité(e)
    Par défaut
    Sur un sitemap ("plan du site"), je ne vois pas l'intérêt d'ouvrir/fermer des listes.

    Au contraire, les liens doivent être visibles/accessibles au premier coup d’œil.

  9. #69
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 430
    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 430
    Points : 5 784
    Points
    5 784
    Billets dans le blog
    1
    Par défaut
    Oui, j'ai déjà vu cette fonction sur un vieux sitemap et je la trouvais pas mal, mais on verra comment mes "clients" trouvent le sitemap sans "expand/collapse".

    Et ça simplifie franchement le code !! Me reste plus qu'à y ajouter le CSS qui me permettra de répondre à la spéc...

+ Répondre à la discussion
Cette discussion est résolue.
Page 4 sur 4 PremièrePremière 1234

Discussions similaires

  1. Detecter activation JS / Bloquer retour arrière
    Par PedroBD dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 17/08/2006, 17h59
  2. [WORD] Touche Retour Arrière ne supprime plus
    Par tux2005 dans le forum Word
    Réponses: 6
    Dernier message: 28/07/2006, 11h06
  3. retour arrière (undo)
    Par pierrot67 dans le forum Bases de données
    Réponses: 5
    Dernier message: 16/06/2006, 15h27
  4. Retour arrière sur une iframe
    Par Bicnic dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 18/05/2006, 16h34
  5. Retour arrière (back) + reset des formulaires
    Par Bicnic dans le forum Général JavaScript
    Réponses: 29
    Dernier message: 03/04/2006, 09h43

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