Bonjour !
Alors j'arrive comme un cheveu sur la soupe presque 2 ans plus tard mais j'ai une question similaire.
Je lance un script pour un menu sur ma page d'accueil. Ce menu étant identique sur toutes les pages de mon site, je le lance de la même manière sur toutes les pages.
Ce menu propose des rubriques sur lesquelles on clique et d'autres rubriques sur lesquelles on passe la souris pour ouvrir des sous rubriques (sur le côté du menu, un peu comme des tiroirs).
Celà fonctionne très bien sur la page d'accueil. Mais sur les autres pages, les sous rubriques ne s'ouvrent pas comme des tiroirs, elles viennent remplacer les rubriques principales.
Je ne comprends pas pourquoi et je n'arrive donc pas à résoudre le problème . . .
Si quelqu'un a une solution ou une idée pour la résolution de ce petit contre temps, ce serait super sympa de m'en faire profiter!
Je vous mets le script:
<!--
// fonction de creation du menu
function createMenu() {
document.write("<table border=.5 bordercolor="+menu_bordercolor+" style=cursor:default;position:absolute;top:"+y+";left:"+x+"; cellspacing=0 width="+elementW+">")
for (var i = 0; i < menu.length; i++)
document.write("<tr><td bgcolor="+menu_bgcolor_normal+" id=menu"+i+" onmouseover=menuOver(this,"+i+") onmouseout=menuOut(this,"+i+") onclick=hideSubMenu("+i+") height="+elementH+" > "+menu[i]+"</td></tr>")
document.write("</table>")
for (var i = 0; i < submenu.length; i++) {
document.write("<table border=1 bordercolor="+menu_bordercolor+" style=display:none;cursor:hand;position:absolute;left:"+(x + elementW - 5)+";top:"+(y + (i * elementH))+"; id=submenu"+i+" cellspacing=0 onmouseover=revealSubMenu("+i+") onmouseout=hideSubMenu("+i+") width="+elementW+">")
for (var j = 0; j < submenu[i].length; j++)
document.write("<tr><td bgcolor="+menu_bgcolor_normal+" onmouseover=styleOver(this) onmouseout=styleOut(this) height="+elementH+"> "+submenu[i][j]+"</td></tr>")
document.write("</table>")
}
}
// si on est sur le menu
function menuOver(element, numMenu) {
setDefaultStyle(element)
styleOver(element)
revealSubMenu(numMenu)
}
// si on sort du menu
function menuOut(element, numMenu) {
hideSubMenu(numMenu)
}
// change la couleur du menu qd on est dessus
function styleOver(element) {
element.bgColor = menu_bgcolor_dessus
}
// change la couleur du menu qd on n'est plus dessus
function styleOut(element) {
element.bgColor = menu_bgcolor_normal
}
// initialise la couleur de départ
function setDefaultStyle() {
for (var i = 0; i < menu.length; i++)
O("menu"+i).bgColor = menu_bgcolor_normal
}
// affiche le ss menu apres avoir caché les précédents
function revealSubMenu(numMenu) {
hideAll()
show( O("submenu"+numMenu) )
}
// cache le ss menu
function hideSubMenu(numMenu) {
hide( O("submenu"+numMenu) )
}
//
function show(element) {
element.style.display = ""
}
// cache ts les ss menus
function hideAll() {
for (var i = 0; i < submenu.length; i++)
hideSubMenu(i)
}
//
function hide(element) {
element.style.display = "none"
}
// renvoie l'id de l'élement (var menu et tous les autres var)
function O(id) {
return document.getElementById(id)
}
// Déclarations des différentes variables nécessaires
var x = 25, y = 50
var elementH = 25, elementW = 150
var menu_bgcolor_normal = "005099"
var menu_bgcolor_dessus = "#002575"
var menu_bordercolor = "#0075ff"
var menu = [
"<font color=white size=3><a href='accueil2.htm'>Accueil</a></font>",
"<font color=white size=3>Photos</font>",
"<font color=white size=3><a href='at_hist.htm'>Calendrier</a></font>",
"<font color=white size=3><a href='at_tou.htm'>Résultats</a></font>",
"<font color=white size=3><a href='cond.htm'>Infos diverses</a></font>",
"<font color=white size=3><a href='contact.htm'>Contact</a></font>"
]
var submenu = [
[
],
[
"<font color=white size=3><a href='photos_equi.htm'>L'Equipe</a></font>",
"<font color=white size=3><a href='photos_match.htm'>En Match</a></font>",
"<font color=white size=3><a href='photos_dirigeant.htm'>L'Equipe Dirigeante</a></font>"
],
[
],
[
],
[
],
[
]
]
//Création du menu proprement dit
createMenu()
//-->
P.S.: les sous tiroirs se situent donc sur la rubrique Photos . . .
================================================================
