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 :

Simplification de code


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut Simplification de code
    Bonjour,

    je découvre depuis peu (une semaine) le html5, et je voudrais l'utiliser pour faire un site web ; j'ai fait un essai qui ne fonctionne pas et je voudrais savoir si je suis sur la bonne piste.

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <nav>
    <a  href="#" onclick="display_page1()">Page 1</a>
    <a  href="#">Page 2</a>
    <a  href="#">Page 3</a>
    </nav>
     
    <section>
    <article id="page1">
    texte 1
    </article>
    <article id="page2">
    ...

    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function display_page1() {
    getElementById('page1').style.display="block";
    getElementById('page2').style.display="none";
    getElementById('page3').style.display="none";
    }

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    Bonjour,
    je découvre depuis peu (une semaine) le html5
    certes mais tu n'as toujours pas pris le temps de te pencher sur le javascript
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    getElementById('page1').style.display="block"; // chercher l'ERREUR

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

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Je l'ai trouvée . En effet, j'avais oublié un truc, mais n'y aurait-il pas moyen de simplifier mon code ?

    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
    function display_none() {
    for (i=1;i<4;i++)
    	document.getElementById("page"+i).style.display="none";
    }
    function display_page1() {
    	display_none();
    	document.getElementById("page1").style.display="block";
    }
    function display_page2() {
    	display_none();
    	document.getElementById("page2").style.display="block";
    }
    function display_page3() {
    	display_none();
    	document.getElementById("page3").style.display="block";
    }
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <nav>
    <a  href="#" onclick="display_page1()">Page 1</a>
    <a  href="#" onclick="display_page2()">Page 2</a>
    <a  href="#" onclick="display_page3()">Page 3</a>
    </nav>

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    ...
    mais n'y aurait-il pas moyen de simplifier mon code ?
    Je transfert sur le forum adéquat et t'engage à relire les réponses qui t'ont déjà été faites sur des sujets identiques.

  5. #5
    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
    Par défaut
    Déjà, à partir du moment où tu en viens à copier-coller des bouts de code et à ajouter des numéros 1, 2 et 3, tout développeur doté de bon sens écrit une fonction.

    Ensuite, l'approche est mauvaise. Mettre toutes les pages dans le document et les montrer/cacher au besoin n'est pas utile et peu performant. Mieux vaut charger les pages au besoin en AJAX et les injecter dans le conteneur HTML de ta page (pas forcément body). C'est ce que font la majorité des frameworks de Single Page Applications.

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

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Oui, en lisant ta réponse, j'ai tout de suite pensé à la fonction...Par contre AJAX, je connais pas du tout ; mais je pense faire simple, et pour ne pas tout mettre dans le même fichier, je vais mettre chaque page dans un fichier différent, et faire des include en PHP. Est-ce une bonne formule ?

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

Discussions similaires

  1. Simplification de code
    Par lodan dans le forum Langage
    Réponses: 4
    Dernier message: 20/09/2006, 19h28
  2. Simplification de code
    Par lodan dans le forum Langage
    Réponses: 2
    Dernier message: 31/08/2006, 21h51
  3. Simplification de code (suite)
    Par Jeffboj dans le forum Access
    Réponses: 1
    Dernier message: 12/04/2006, 22h34
  4. simplification de code
    Par Jeffboj dans le forum Access
    Réponses: 11
    Dernier message: 11/04/2006, 15h09
  5. [c#] Simplification de code
    Par Revan012 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 04/02/2006, 16h44

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