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

Bibliothèques & Frameworks Discussion :

Est-il possible de changer l'id d'un div ?


Sujet :

Bibliothèques & Frameworks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 54
    Par défaut Est-il possible de changer l'id d'un div ?
    Hello !

    J'aimerais faire ceci :

    - un div "menu" qui s'affiche d'abord en minimisé en haut à gauche de ma web app.
    - puis quand je clique sur une icône "triangle bas", le menu se déroule tout en restant au dessus des éléments de la page situés dessous
    - et si je clique sur une icône "pin", le menu vient s'accrocher sur la page et pousse les éléments dessous lui pour qu'ils s'ajustent à sa droite

    Je conçois très bien comment faire le tout avec 3 div d'id différentes et des règles css (z-indes et display notamment) pour gérer le tout avec rechargement de ma page pour afficher le bon div.

    Cependant, je souhaiterais savoir si on peut directement changer l'id d'un div donné avec AJAX et ne réafficher que ce div. En effet, ma page contient de nombreuses données tirées d'une base de données distante sous-jacente et le rechargement à chaud d'une seule portion de la page (non liée à la partie base de données qui plus est) m'apparaît beaucoup plus efficace.

    Merci pour vos conseils,

    Arnaud

  2. #2
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Pas compris

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 54
    Par défaut
    Résolu (désolé pour l'entête [AJAX], ça avait en fait bien peu de rapport avec AJAX, mais comme je travaille sur ça en ce moment, je me suis un peu mélangé les pinceaux !).

    En fait, ce que je voulais faire, c'est éviter d'écrire 3 fois le div "menu" en HTML dans ma page sous 3 id différents (chaque id ayant ses règles css pour avoir l'affichage voulu) et d'afficher ensuite le bon avec des effets type Effect.Appear("le bon div") de la bibliothèque script.aculo.us.

    En faisant un lien :
    <a href="#" onClick="this.parentNode.id='nouvel_id'; return false;" >pin</a>
    par exemple, ça marche très bien et je n'ai besoin que d'écrire une seule fois le html du menu car je ne change que l'id du div qui prend alors les règles css définies pour cet id.

    Désolé pour ce message pas très clair !

    --
    Arnaud

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 54
    Par défaut juste une précision
    Juste une précision que j'aimerais savoir :

    si je fais ce que j'ai dit (à savoir onClick="..."), est-ce TOUTE la page qui est rechargée ou simplement le div concerné par le javascript ?

    --
    Arnaud

  5. #5
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Le div n'est pas rechagé, tu change juste son ID... je pige pas trop

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 54
    Par défaut
    Je rappelle le but de la manoeuvre :
    - un div "menu" qui s'affiche d'abord en minimisé en haut à gauche de ma web app.
    - puis quand je clique sur une icône "triangle bas", le menu se déroule tout en restant au dessus des éléments de la page situés dessous
    - et si je clique sur une icône "pin", le menu vient s'accrocher sur la page et pousse les éléments dessous lui pour qu'ils s'ajustent à sa droite
    Donc j'écris mon menu en html :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <div id="menu_minimized">
    ...
    </div>

    Puis je définis trois règles css adéquates sous les 3 id suivantes :
    #menu_minimized { ... } : ne montre qu'une barre d'icônes, chaque icône étant un item du menu
    #menu_maximized { ... } : montre le menu complet en "survol" au dessus de la page
    #menu_pinned { ... } : "fixe" le menu dans la page

    Enfin, j'ai 3 liens en tête de mon menu pour passer d'un état à un autre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <a href="#" onClick="this.parentNode.id='menu_minimized';return false;">Minimiser</a>
    <a href="#" onClick="this.parentNode.id='menu_maximized';return false;">Maximiser</a>
    <a href="#" onClick="this.parentNode.id='menu_pinned';return false;">Fixer</a>
    En test simpliste, ça marche bien, mais avant de le passer en production dans ma web app, je me demandais si toute la page était rechargée quand on passe d'un état à l'autre ou seulement le div menu.

    En effet, la page affichée est bourrée de contenu issu d'une base de données distantes et avec un petit nombre d'utilisateurs traffiquant en même temps le menu, je risque de surcharger un peu le serveur et le réseau à recharger à chaque fois toute la page (appel à la couche [service] et retour de toutes les données jusqu'au client).

    --
    Arnaud

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/08/2010, 23h31
  2. i18n - est il possible de changer de langue sans le voir dans l'url ?
    Par Chico el guacamole dans le forum GWT et Vaadin
    Réponses: 3
    Dernier message: 07/06/2010, 11h46
  3. Réponses: 0
    Dernier message: 24/07/2009, 10h48
  4. [Turbo Pascal] Est-il possible de changer l'icone de l'exe ?
    Par Invité dans le forum Turbo Pascal
    Réponses: 3
    Dernier message: 08/05/2009, 09h23
  5. Réponses: 2
    Dernier message: 07/09/2007, 16h39

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