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

HTML Discussion :

Site en Accordéon et gestion des Div


Sujet :

HTML

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 9
    Points : 2
    Points
    2
    Par défaut Site en Accordéon et gestion des Div
    Bonjour,
    Je suis entrain de créer un site web et j'aimerai adopter un système de navigation en accordéon avec jQuery.
    Cependant le lourd contenu de mon site me pose problème.
    Avec cette structure, le contenu est très long a se charger : Même si les <Div> sont cachées, leur contenu est tout de même charger.
    Exemple de site web : www.nda2012.be
    Existe-il un moyen de gérer ce genre de structure en chargent la page lorsque l'on ouvre la Div ?
    Merci

  2. #2
    Membre régulier Avatar de DezMax
    Homme Profil pro
    Licence Informatique
    Inscrit en
    Décembre 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Licence Informatique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 89
    Points : 115
    Points
    115
    Par défaut
    Ce n'est pas le contenu de ton site qui est lourd mais plutot le serveur qui est lent .
    Je n'ai pas très bien compris la question serais t-il possible de la reformuler ?
    Merci
    --//CODE//--

  3. #3
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Points : 1 253
    Points
    1 253
    Par défaut
    Complètement d'accord avec DezMax : c'est ton serveur qui est (très) lent !

    Sinon, pour alléger le contenu d'une page, tu peux toujours charger dynamiquement sont contenu avec AJAX (surtout que tu déclenches déjà un traitement JS avec jQuery, il suffit de faire d'abord un appel AJAX pour cahrger le contenu de ton div avant d'appeler la tringlerie AJAX), mais dans ton cas, vu la lenteur du serveur, ça va être inutilisable !
    Si , et la ont échoué mais pas nous, pensez à dire et cliquez sur . Merci !

    Ici, c'est un forum, pas une foire. Il y a de respectables règles... à respecter !

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    ce qui me déroute le plus sur ton site c'est l’accessibilité et la navigation, j'ai vraiment du mal à savoir ce qui est cliquable de ce qui ne l'est pas.

    La mise en page via une table pourrait être supprimé.

    Je sais je suis hors discussion

  5. #5
    Membre régulier Avatar de DezMax
    Homme Profil pro
    Licence Informatique
    Inscrit en
    Décembre 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Licence Informatique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 89
    Points : 115
    Points
    115
    Par défaut
    Je te conseil d'utiliser directement du texte au lieu des images et l'éditer grâce au CSS il y'aurais une meilleur qualité et se sera certainement beaucoup plus rapide .
    --//CODE//--

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Merci pour vos conseils, ce site (www.nda2012.be) est ma première production et il n'est vraiment pas au point effectivement... C'est un bricolage de code fait avec les moyens du bord...
    Mon projet actuel est plus sérieux et je viens de trouvé une bonne référence de la structure et de la navigation qui me plait : http://undesign.it

    Comme j'ai essayé de l'expliquer précédemment, j'aimerai pouvoir optimiser l'affichage de mon nouveau site (il va être très lourd) et comme dans celui de mon site référence, le contenu des éléments caché se charge au fur et a mesure de la navigation : C'est ce qu'il me faut !

    "leminipouce" tu me parles de AJAX ( je ne connais pas vraiment mais si c'est l'unique solution, je peux apprendre ).
    En cherchant avec mes petites connaissances je me demandais si c'était pas possible d'utiliser des <FRAME> avec un "target" dont le contenu seraient activés en cliquant sur la DIV qui ouvre le contenu caché...?

  7. #7
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    ...je me demandais si c'était pas possible d'utiliser des <FRAME> avec un "target"...
    oublis cette idée d'autant que les FRAME sont obsolètes en HTML5.

    Concernant la technique Ajax tu trouveras ceci Les meilleurs cours et tutoriels AJAX

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    ok merci bien !
    je me plonge la dedans alors

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    okay je commence a comprendre,
    AJAX me permet de ne charger qu'une partie de ma page html et a travers une requête via le "Moteur" je peux charger un partie de la page sans avoir a recharger l'intégralité ! PARFAIT !
    Seulement, c'est la partie PHP qui m’inquiète un peu, c'est un peu flou... Est ce que je dois connaitre ce langage ?
    en trifouillant dans le code source de http://undesign.it , je tombe sur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
                      <div class="invisible" ><a href="?r=178&amp;s=2" >rosso%20pi%26ugrave%3B%20nero </a></div>	
    	          </div>
    	      </div>	
    	      <div  title="server.php?a=getR&amp;w=178;&amp;s=2" class="togglecontet loadcontent" >  </div>
    C'est ici pas vrai ?
    <a href="?r=178&amp;s=2" > : c'est la fameuse requête AJAX ?

    Pouvez vous m’éclaircir sur ce point ?

  10. #10
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    PHP, pas spécifiquement, mais si tu veux faire des requêtes sur un serveur, l'idéal est quand même de connaitre un langage serveur...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Trouvé !

    Code javascript : 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
    <script type="text/javascript">
    function envoieRequete(url,id)
    {
    	var xhr_object = null;
    	var position = id;
    	   if(window.XMLHttpRequest)  xhr_object = new XMLHttpRequest();
    	  else
    	    if (window.ActiveXObject)  xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); 
     
    	// On ouvre la requete vers la page désirée
    	xhr_object.open("GET", url, true);
    	xhr_object.onreadystatechange = function(){
    	if ( xhr_object.readyState == 4 )
    	{
    		// j'affiche dans la DIV spécifiées le contenu retourné par le fichier
    		document.getElementById(position).innerHTML = xhr_object.responseText;
    	}
    	}
    	// dans le cas du get
    	xhr_object.send(null);
     
    }
    </script>

    et

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" onclick="envoieRequete('page/projet.html','centre');" >PROJETS</a>

  12. #12
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Trouvé !
    c'est bien, mais il n'est peu être pas utile de recharger ce qui l'a déjà été !


    Remarque
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" onclick="envoieRequete('page/projet.html','centre');" >PROJETS</a>
    pourrait être avantageusement remplacé par un button, balises qui sont prévus pour cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <button onclick="envoieRequete('page/projet.html','centre');" >PROJETS</button>
    sinon on peu également mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="page/projet.html" onclick="envoieRequete('page/projet.html','centre');return false" >PROJETS</a>
    la référence à la page reste visible et en cas de javascript désactivé cela baigne.

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

Discussions similaires

  1. Gestion des DIV
    Par Pharmacos dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 24/01/2013, 23h08
  2. V1.3: gestion des div filles
    Par mga_geo dans le forum IGN API Géoportail
    Réponses: 3
    Dernier message: 23/02/2012, 11h40
  3. Réponses: 2
    Dernier message: 23/06/2006, 10h23
  4. Réponses: 4
    Dernier message: 16/05/2006, 01h55
  5. [Ergonomie] Site Intranet pour la gestion des abscences ?
    Par ghyosmik dans le forum Webdesign & Ergonomie
    Réponses: 10
    Dernier message: 21/10/2005, 17h02

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