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 :

[Débutant] "Rafraîchir" une <div> ?


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    12
    Détails du profil
    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2006
    Messages : 12
    Points : 8
    Points
    8
    Par défaut [Débutant] "Rafraîchir" une <div> ?
    Bonjour à tous,


    Je tripatouille le html et le php depuis bientot 5 semaines, et je suis dans une impasse technique :
    j'ai une page html/php contenant plusieurs div, dont une avec un include d'un menu en flash, et je voudrais qu'une autre balise div soit réactualisée avec un fichier html/php, suivant le click dans le menu.

    Ceci pour éviter de recharger le menu, qui pèse quand même son poids.

    J'ai entendu parler d'Ajax, mais ne connaissant rien au javascript et autres joyeusetés de cette technique, je ne sais pas si cette solution est adaptée (les exemples et tutos lus, dont ceux de ce site, me semblent très complexes par rapport au problème)

    Quelle est selon vous la solution la plus simple ?

    Je n'ai pas mis de code car je pense que c'est plus un problème de conception, mais n'hésitez pas à me demander.


    Merci d'avance,
    the_pit

  2. #2
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Tu peux faire ça avec le CSS et un peu de javascript, tu va voir c'est simple :

    Dans le CSS :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    div.menuON {
    attribut1 : ...;
    attribut2 : ...;
    }
     
    div.menuOFF {
    visibility : hidden;
    }
    Dans l'en-tête de ta page HTML (balise <head>...</head>):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <script language="javascript">
    function menu(val) {
    	if (val=='show')
    	{
    	y = document.getElementById('menu').className='menuON';
    	} else {
    	y = document.getElementById('menu').className='menuOFF';
    	}
    	}
    </script>
    Et dans ta page HTML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <div id="menu" class="menuOFF">
    	<a onclick="menu('show')">Menu</a>
    	<a onclick="menu('hide')">Fermer</a>
    </div>
    Voilà, avec cette méthode, tu aura un menu qui peut s'ouvrir et se fermer. Là les boutons seront affiché de base, mais il y a moyen de changer cela avec le css également, en définissant des classes par exemple :

    Reprenons le code de la page HTML

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <div id="menu" class="menuOFF">
    	<a class="OFF" classonclick="menu('show')">Menu</a>
    	<div class="ON">
    		<a onclick="menu('hide')">Fermer</a>
    	</div>
    </div>
    Dans ton CSS :

    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
    div.menuOFF .OFF{
    visibility : visible;
    }
     
    div.menuOFF .ON{
    visibility : hidden;
    }
     
    div.menuON .OFF{
    visibility : hidden;
    }
     
    div.menuON .ON{
    visibility : visible;
    }

    Voilà, j'espère que c'est ce que tu demandais, et que tu comprendra ma réponse. ^^'

    Bonne chance !

  3. #3
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Ben si c'est juste la page (déjà existante) il suffit d'utiliser le innerHTML de ton div...Mais si tu veux plus de détails fais une recherche approfondi sur le forum. Javascript..En effet, cette question a déjà été traité plusieurs fois

  4. #4
    Futur Membre du Club
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    12
    Détails du profil
    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2006
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Bonjour,

    Merci pour vos réponses, elles m'ouvrent d'autres pistes.

    hazardous_material, le menu est en place et ne doit pas être caché, j'essaye de rafraichir la zone sous le menu, en fonction du lien cliqué.

    Kerod, la prop innerHtml permet-elle d'afficher autre chose qu'une chaine de caractères, par exemple l'ouverture de l'url d'un fichier ?

    Je vais certainement ouvrir un thread dans le forum javascript, vu mon niveau de compétence

  5. #5
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Oui il me semble qu'un sujet portant le nom de "Charger une page dans un div" avait été traité il y a un mois de ca dans le forum Javascript

  6. #6
    Futur Membre du Club
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    12
    Détails du profil
    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2006
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Bonjour,

    Après pas mal de fouilles, j'ai trouvé une classe js du nom de XHRconnection qui permet de "charger le contenu d'un fichier dans une zone de la page" (zone définie par une <div>), soit exactement ce que je voulais faire.

    http://xhrconnection.sutekidane.net/...ne-de-la-page/

    Par une petite modif du script de chargement du fichier, on peut passer en paramètre le fichier à charger depuis un lien, donc depuis un menu flash, et le tour est joué

    Faut il déplacer ce thread dans le forum js ?
    Je mets le tag résolu, en tout cas

    Merci pour votre aide

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 30/09/2009, 10h00

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