Bonjour !
J'ai une petite question sur un script que je lance pour un menu sur ma page d'accueil (c'est une frame sur la page index). Ce menu étant identique sur toutes les pages de mon site, je le lance de la même manière sur toutes les pages (qui sont toutes des frames sur la page index).
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()
//-->
D'avance merci à ceux qui prendraient le temps d'étudier ce long message !
P.S.: les sous tiroirs se situent donc sur la rubrique Photos . . .
================================================================
