5568 sujets

Sémantique web et HTML

Je souhaite faire un site web, qui sera divisé en 3 parties "entete", "partie principale" et "partie menu" et je voudrais qu'a chaque fois que je selectionne un menu, le contenu sera affiché dans la partie principale (j'ai crée les 3 cadres avec des balises div, et j'ai du mal à realiser l'affichage dans la partie principale)

merci pour votre aide
Modérateur
Salut,

Pour ne pas trop te compliquer la vie, le mieux c'est de faire une page pour chaque et d'insérer l'entête et le menu avec les includes...
Modifié par koala64 (09 Dec 2006 - 20:59)
... ou encore, si ton hébergeur ne supporte pas les langages dynamiques, se tourner vers la balise object... mais je préfererais changer d'hébergeur dans ce cas Smiley ravi
Bonjour
Il y a plusieurs solutions à ton problème :
- avec la balise object tu peux, dans l'argument data indiquer la page à charger ; toutefois cette solution est assez compliquée à mettre en oeuvre

- tu peux préparer ta partie centrale avec plusieurs contenus (<div>) possibles, et lors du choix de l'utilisateur, rendre tous les contenus invisibles, et rendre visible celui désiré. Pour cela le moyen le plus simple est de donner des identificateurs utilisables dans une boucle. Par exemple, tes div vont s'appeler div0, div1, ..., divn.

Ainsi pour les rendre invisibles il "suffit' d'écrire


function affiche(num)
{
for (i=0; i < n; i++) document.getElementByid("div"+i).style.visibility = "hidden";

}


et pour rendre visible celui que tu veux :
dans le menu, tu ajoutes onclick="javascript:affiche(i)" où i est le numéro choisi pour le div à afficher et dans la function précédente tu ajoutes

document.getElementByid("div"+num).style.visibility = "visible";


Pense à les mettre tous à caché au départ.

Bon courage