Bonjour à tous,
c'est mon premier post et je suis débutant en javascript.
je vous expose mon problème; j'ai installé un menu vertical qui contient des sous-menues
dans une page php jusque là tout va bien, mais quand je clique sur le lien d'un sous menu, celui-là se referme pendant que la page se charge
j'aimerai savoir si il y a une fonction qui garde un sous-menu ouvert
lors du chargement de la nouvelle page
merci
<script type="text/javascript">
function afficheMenu(obj){
var idTitreMenu = obj.id;
var idSousMenu = 'sous' + idTitreMenu;
var sousMenu = document.getElementById(idSousMenu);
/*****************************************************/
/** si le sous-menu correspondant au menu cliqué **/
/** est caché alors on l'affiche, sinon on le cache **/
/*****************************************************/
if(sousMenu.style.display == "none"){
sousMenu.style.display = "block";
}
else{
sousMenu.style.display = "none";
}
}
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Menu déroulant vertical sur clic</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" href="style.css" type="text/css" />
<script type="text/javascript">
function afficheMenu(obj){
var idMenu = obj.id;
var idSousMenu = 'sous' + idMenu;
var sousMenu = document.getElementById(idSousMenu);
/*****************************************************/
/** on cache tous les sous-menus pour n'afficher **/
/** que celui dont le menu correspondant est cliqué **/
/** où 4 correspond au nombre de sous-menus **/
/*****************************************************/
for(var i = 1; i <= 4; i++){
if(document.getElementById('sousmenu' + i) && document.getElementById('sousmenu' + i) != sousMenu){
document.getElementById('sousmenu' + i).style.display = "none";
}
}
<?php
switch($_GET['pg']){
case 'accueil': // si $_GET['pg'] = accueil
include('accueil.php'); // alors on inclut le fichier accueil.php
break;
case 'livre': // si $_GET['pg'] = livre
include('livre.php'); // alors on inclut le fichier livre.php
break;
case 'contact': // si $_GET['pg'] = contact
include('contact.php'); // alors on inclut le fichier contact.php
break;
default: // si $_GET['pg'] ne correspond à rien, on inclut accueil.php par défaut.
include('accueil.php');
}
?>
[# Menu 1]
[index.php?pg=accueil Sous-Menu 1.1]
[index.php?pg=livre Sous-Menu 1.2]
[index.php?pg=contact Sous-Menu 1.3]
[# Sous-Menu 1.4]
[# Menu 2]
[# Sous-Menu 2.1]
[# Sous-Menu 2.2]
[# Sous-Menu 2.3]
[# Menu 3]
[# Menu 4]
[# Sous-Menu 4.1]
[# Sous-Menu 4.2]
[# Sous-Menu 4.3]
[# Sous-Menu 4.4]
[# Sous-Menu 4.5]
</html>
j'ai une page index php, qui contient un menu déroulant et une partie frame;
se que je souhaite faire c'est un menu comme celui du site : http://www.louvre.fr/llv/commun/home.jsp?bmLocale=fr_FR qui quand tu clique sur un sous menu il ne se referme pas lorsque la nouvelle pages est chargé
(frame)
bultez ++, Exelente question, lol car si tu recharge ta nouvelle page par header(location... ou par document.location.href ... ça va se faire diffement de si tu ne recharge qu'une partie de la page : un ou plusieur div avec ajax ou non ....
ok donc tu recharge toute la page !!! je crois qu'il va falloir créer une petite fonction qui détecte quel sous menu était ouvert avant que la nouvel page s'ouvre et le réouvre sur la nouvelle page !!!
bonjour nicomilville,
je suis heureux tu m'as compris,
étant-donné que je suis super nul en javascript, peux-tu me dire quel fonction dois-je utiliser pour que cela marche?
>>étant-donné que je suis super nul en javascript,
ce n'est pas une excuse... on peut apprendre
ou ne pas utiliser ! le javascript n'est jamais obligatoire !
>> peux-tu me dire quel fonction dois-je utiliser
pas un problème de fonctionn, mais de conception....
prend donc un truc "tout fait", "clé en main" ou "clé sur la porte"
comme diraient nos amis d'outre Quiévrain....
Au cas ou on ne se serait pas compris, il faut que tu créer une fonction comme je te l'ai expliqué plus haut, désolé je ne pense pas que l'on puissent te la faire car on ne fait pas de tout cuit ici sauf si rémunéré !!!
Hé oui bultez,
donc je ne peux pas obtenir un site qui utilise des frames (includes php) avec un menu déroulant
car lorsque on clique dans un sous menu, il se referme tout de suite.
"étant-donné que je suis super nul en javascript" non pas vraiment j'ai des livres sur le javascript, donc quelques connaissances mais aujourd'hui je me retrouve coincer avec ce genre de conception; je pensai que si je rajoutai une fonction dans mon script j'obtiendrai un menu déroulant comme dans ce site : http://www.louvre.fr/llv/commun/home.jsp?bmLocale=fr_FR
Bonjour à tous,
le principe de base est assez
simple...
à l'ouverture de ta page tu récupères l'adresse de la page en
cours de rechargement grâce à window.location.href puis lors de l'initialisation de ton menu tu
affiches le menu qui contient cette adresse en faisant appel à la méthode indexOf().
;O)