bonjour, je suis en plein montage de site et je voudrais profiter des bienfaits de Jquery.
malheureusement je n'y connais pas grand chose et la seule chose que j'a pu réaliser est de fermer un menu accordéon par un click (je ne connais encore pas grand chose en JS, et pour ainsi dire rien en Jquery, toute fois, ce langage me plait bien et semble à la portée de pas mal de gens si je ne m'abuse.
mais ma volonté est d'apprendre bien entendu et pour ce faire j'ai commandé des bouquins.
En attendant, je test car je n'arrive pas à avancer sur mon site, ne désirant pas faire de duplicata de pages html (php) et n'arrivant pas trop à réaliser ce que je veux en fin de compte en php.

mon projet :
à partir d'un menu accordéon (détail) à 3 nieaux, je souhaite faire apparaitre tout le contenu de mon site sur la page index.php dans une <div> à cet effet. chaque lien étant l'url d'une page qui ne comporterait que le contenu à afficher dans cette div.
et bien entendu il faudrait que lorsque la lecture du visiteur se termine, il clique sur un autre lien du menu pour apercevoir le texte correspondant.

j'ai cherché (peut-etre mal sur la doc de Jquery sans trouer, je pense de fonction adequate, mais peut etre saurez vous me guider vers les méthodes qui me permettront de réaliser ceci en Jquery..

merci par avance pour votre aide Smiley smile
Salut Smiley smile
Ce que tu cherches à faire ressemble à un "chargement ajax". Tu devrais trouver ce dont tu as besoin dans la doc jQuery.
Par contre je n'ai pas compris
a écrit :
et bien entendu il faudrait que lorsque la lecture du visiteur se termine, il clique sur un autre lien du menu pour apercevoir le texte correspondant.
, que cherches tu as faire ?
je n'ai rien trouvé dans la doc qui corresponde justement (peut etre mal cherché...)
je ce que je souhaite c'est qu'un clic fasse apparaitre un texte (page *.php) dans une zone de la page d'accueil, puis lorsque l'utilisateur désire lire un autre texte qui va s'afficher au meme endroit, il clique sur un "lien" du menu, qui va donc laisser la place a un autre texte (autre page *.php) dans cette meme zone. il faut don créer un evenement qui fasse disparaitre le précédent... je pense

mon but étant de créer un site qui ne me fasse pas dupliquer les pages html/php mais qui affiche un contenu différent dans une zone commune lors du clic sur un item du menu (et surtout des sous-menu, ce que je n'arrive pas à faire en php)
en gros un site a page unique, plus rapide que du html dupliquer et moins lourd.

je précise que le menu a 3 niveaux

merci
Bonjour,

Si j'ai bien compris, ca sera de l'AjaX comme l'a signalé Stéphanie. Un très bon tuto ici
Mais si tu n'as pas du tout de connaissance en JS (et PHP..) ca va être coton ! Sinon tu fais rafraichir la page a chaque clique et tu fais tout en PHP (tu aura quand même qu'une page générée au final)

Bonne journée
JC
kri2sis a écrit :
je n'ai rien trouvé dans la doc qui corresponde justement (peut etre mal cherché...)
mon but étant de créer un site qui ne me fasse pas dupliquer les pages html/php mais qui affiche un contenu différent dans une zone commune lors du clic sur un item du menu (et surtout des sous-menu, ce que je n'arrive pas à faire en php)
en gros un site a page unique, plus rapide que du html dupliquer et moins lourd.


Hum, tu appelles quoi "dupliquer" ? Copier/coller le header/footer et changer son contenu pour chaque page ? Dans ce cas là, il te suffit de faire des includes en PHP, pas besoin d'ajax. Et surtout le gros souci avec l'ajax c'est que de base puisque le contenu se recharge dans la page, l'url ne change pas. Très mauvais pour le référencement, pas pratique pour l'utilisateur qui veut faire un lien vers une page, etc etc. Il existe des techniques pour changer l'url au chargement ajax, mais c'est encore plus long à mettre en place. En général on utilise plus l'ajax pour de la webapp ou du contenu en flux (twitter, facebook, etc) qui se charge en continue au scroll.
En bref, si ton seul souci est de répéter des bouts de code, quelques includes PHP et hop, résolu Smiley cligne
et je ne peux pas faire l'inverse ?
c'est à dire un script (php, JS...) qui ferai en sorte que chaque texte (lien dans le menu et les sous-menus) s'affiche dans un template unique ?
j'ai lu un peu partout que php n'allait pas plus loin que l'affichage des contenus du menu sans s'occuper des sous-menus (une histoire de serveur et client)

pour le referencement, si c'est pour un site de grande à moyenne envergure, je m'en fiche un peu en fait, car c'est un site perso qui n'attirera pas grand monde...
je viens de trouver ce code ici : http://www.editeurjavascript.com/cours/cours_09.php#

<HTML> 
<HEAD> 
<SCRIPT language="Javascript"> 
<!-- 
  
function Affiche(Texte) { 
alert(Texte); 
} 
  
//--> 
</SCRIPT> 
</HEAD> 
<BODY onLoad="Chargement();" > 
  
<A href="#" onClick="Affiche('Texte1');return(false)">Texte1</A> 
<A href="#" onClick="Affiche('Texte2');return(false)">Texte2</A> 
  
</BODY> 
</HTML>

est ce que cela fonctionne ?
est ce qu'il est possible de définir l'emplacement où doit s'afficher les textes ?

merci par avance
Bonjour,

Attention, le code que tu utilises est obsolète!
Pour répondre à ta question, voici de quoi démarrer ta recherche :
<!DOCTYPE html>
<html><head>
<meta charset="utf-8">
<title>Affichage</title>
<script> 
	function Affiche(Texte) { 
		//alert(Texte);
		// utiliser le DOM pour afficher le texte là où tu le désires!
		document.getElementById('letexte').innerHTML = Texte;
	} 
</script>
<style>
	#letexte, #boutons {
		background-color:#eaeaea;
		width:200px;
		margin:30px auto;
		padding:10px;
		border:2px solid gray
		}
	#letexte {
		text-align:left;
		height:80px;
		overflow:auto
		}
	button {
		border:1px solid #000;
		background-color:#ccc;
		color:#000;
		cursor:pointer
		}
	#boutons {text-align:center}
</style>
</head><body> 
	<div id="letexte">Cet élément est un DIV et porte l'id "letexte"; tu le positionnes où tu veux au moyen de CSS.</div>
	<div id="boutons">
		<button onclick="Affiche('Texte1');return(false);">Texte1</button> 
		<button onclick="Affiche('Texte2');return(false);">Texte2</button>
	</div>
</body> 
</html>
kri2sis a écrit :

j'ai lu un peu partout que php n'allait pas plus loin que l'affichage des contenus du menu sans s'occuper des sous-menus (une histoire de serveur et client)


J'aimerai bien le lien qui dit ça. En fait PHP dans ce cas sert "juste" à mettre des briques ensemble. Donc tu peux faire un fichier nav.php avec un menu déroulante à 15 niveaux si tu le souhaites, et faire un include de nav.php ça ne pause aucun souci (bon sauf pour les 15 niveaux Smiley langue )
@kri2sis

Ceci dit, pour obtenir ce que tu cherches à réaliser, il me semble également que PHP (avec ses includes etc) convient parfaitement! Je rejoins tout à fait Stéphanie W. à ce propos.
De plus, si un jour tu as besoin d'une Base de Données, tu auras déjà l'outil qui convient pour l'exploiter Smiley cligne
merci idd et stephanie car d'une part enfin une personne a compris mon charabia de noob (idd) et d'autre part steph (j'ecourte hein, pas de familiarité de ma part) pour ce que tu dis a propos de PHP... le souci, c'est que j'ai tenté en autodidact de créer un menu à trois niveau coté phhp a l'aide d'un script pour menu simple qu'on m'a filé, mais rien a faire (et autant vous dire que je prefere de loin PHP mais j'adore la synthaxe jquery... rien a voir je sais)
et je ne vois pas comment le faire en php donc ...


merci pour le script idd je vais voir tout de meme si je pe peux le faire en PHP, is vous avez de sidées, je suis preneur ceci dit

merci a vous Smiley biggrin