3 // Si toutes les images sont dans le même répertoire // Chemin vers le répertoire des images var chemin = "/img/FR/home/"; // Si toutes les images ont la même extension // L'extension de toutes les images var ext = ".gif"; // Si toutes les images sont dans le même répertoire et ont la même extension // Le nom de chaque image à précharger, peu importe l'ordre var liste_images = new Array('bg_deplacer_over','bg_reseau_over','bg_bouger_over','bg_services_over','bg_passages_over','bg_plan_over','bg_horaires_over','bg_paiement_over'); // Si les images sont dans des répertoires différents ou ont des extensions différentes, indiquer dans le tableau précédent le chemin et l'extension de chaque image // Un tableau qui permettra le stockage 'virtuel' des images pour les précharger document.image_chargee = new Array(); // La fonction de préchargement function prechargement() { /* // Pour chaque image for ( i = 0; i < liste_images.length; i++ ) { // on créé virtuellement une image document.image_chargee[i] = new Image; // On en indique la source en assemblant le chemin, le nom et l'extension document.image_chargee[i].src = chemin + liste_images[i] + ext; //Si les images sont dans des répertoires différents ou ont des extensions différentes, ne pas mettre 'chemin + liste_images[i] + extension' mais uniquement les variables nécessaires } */ } // Et le navigateur place dans son cache toutes les images !! function montre (id) { var m = document.getElementById('menuU'+id); var d = document.getElementById('smenu'+id); for (var i = 1; i<=4; i++) { if (i!=id) { if (document.getElementById('menuU'+i)) document.getElementById('menuU'+i).style.backgroundPosition='left'; if (document.getElementById('smenu'+i)) document.getElementById('smenu'+i).style.display='none'; } } if (d) { m.style.backgroundPosition='right'; d.style.display='block'; } /* // Si id de menu passé en paramètre if (id != '') { // Objets HTML MainMenu = document.getElementById('menuU'+id); SubMenu = document.getElementById('smenu'+id); // Masque UNIQUEMENT les autres menus for (i=1; i<5; i++) { tmpSubMenu = document.getElementById('smenu'+i); tmpMenu = document.getElementById('menuU'+i); if (i != id) { if (tmpSubMenu) tmpSubMenu.style.display = 'none'; } } // Calcul de l'offset pour l'alignement if (MainMenu) { var absX = getAbsX(MainMenu); switch (id) { case '1': offset = 24; img = "url('/img/FR/home/bg_deplacer_over.gif')"; break; case '2': offset = 21; img = "url('/img/FR/home/bg_reseau_over.gif')"; break; case '3': offset = 21; img = "url('/img/FR/home/bg_bouger_over.gif')"; break; case '4': offset = -6; img = "url('/img/FR/home/bg_services_over.gif')"; break; default: offset = 0; break; } absX += offset; // Alignement du menu SubMenu.style.left = absX + "px"; tmpTop = parseInt(getAbsY(MainMenu)) + 46; SubMenu.style.top = tmpTop + "px"; // Image de survol (merci IE6) MainMenu.style.backgroundImage = img; } // Affichage du sous menu if (SubMenu) SubMenu.style.display = "block"; } else { // Si aucun parametre on masque tous les sous menus for (i=1; i<5; i++) { tmpMenu = document.getElementById('smenu'+i); tmpMainMenu = document.getElementById('menuU'+i); tmpMenu.style.display = 'none'; // Reinit des backgrounds switch ('smenu'+i) { case 'smenu1': if (tmpMainMenu.style.backgroundImage != "url('/img/FR/home/bg_deplacer.gif')" && id != i) tmpMainMenu.style.backgroundImage = "url('/img/FR/home/bg_deplacer.gif')"; break; case 'smenu2': if (tmpMainMenu.style.backgroundImage != "url('/img/FR/home/bg_reseau.gif')" && id != i) tmpMainMenu.style.backgroundImage = "url('/img/FR/home/bg_reseau.gif')"; break; case 'smenu3': if (tmpMainMenu.style.backgroundImage != "url('/img/FR/home/bg_bouger.gif')" && id != i) tmpMainMenu.style.backgroundImage = "url('/img/FR/home/bg_bouger.gif')"; break; case 'smenu4': if (tmpMainMenu.style.backgroundImage != "url('/img/FR/home/bg_services.gif')" && id != i) tmpMainMenu.style.backgroundImage = "url('/img/FR/home/bg_services.gif')"; break; default: break; } } } */ } /* function montre(id) { var d = document.getElementById(id); for (var i = 1; i<=10; i++) { if (document.getElementById('smenu'+i)) { //Récupére l'identifiant du menu var d2= document.getElementById('menuU'+i); if (d2) //Vérification de son existance { var absX = getAbsX(d2); //On récupére ces coordonnées absolut //Suivant le taille du menu, on applique un décalage différent if (i==1) absX = absX + 24; if ((i==2) || (i==3)) absX = absX + 21; if (i==4) absX = absX - 6; //Décalage du sous menu par rapport au menu document.getElementById('smenu'+i).style.left= absX + "px"; } else document.getElementById('smenu'+i).style.left='-1000px'; //document.getElementById('smenu'+i).style.display='none'; } } if (d) { d.style.display='block'; } } */ function getAbsX(elt) { return (elt.x) ? elt.x : getAbsPos(elt,"Left"); } function getAbsY(elt) { return (elt.y) ? elt.y : getAbsPos(elt,"Top"); } function getAbsPos(elt,which) { iPos = 0; while (elt != null) { iPos += elt["offset" + which]; elt = elt.offsetParent; } return iPos; } /* // capture de la souris if (!isIE) document.captureEvents(Event.MOUSEMOVE); document.onmousemove = mouseMove; var currentMenu = ""; // id du menu déplié var activeMenu = false; // activation des menus (pour l'attente du chargement complet de la page) // initialisation des positions des menus function initMenus() { if (!isNS) { addMenu('1', 135, 100); addMenu('4', 135, 60); addMenu('6', 140, 60); addMenu('7', 294, 60); addMenu('8', 153, 60); // chargement OK, on active les menus activeMenu = true; } } // positionnement des sous-menus function addMenu(id, width, height) { // récupération du parent pout déterminer la position var parentLayer = getLayer("head" + id); var left = getPageLeft(parentLayer); var right = left + 130; var top = getPageTop(parentLayer); // calcul de la taille width = width + 10; height = height + 10; // calcul des coordonnées var x = parseInt(((left + right)/2) - (width/2), 10); var y = top + 25; // décalages MAC if (isIE && isMac) { x += 10; y += 15; } else if (isSF) { x += 8; y += 8; } // on récupère les layers du menu var menuLayer = getLayer("menu" + id); var menuBackLayer = getLayer("menuBack" + id); // resize setWidth(menuLayer, width); setHeight(menuLayer, height); setWidth(menuBackLayer, width); setHeight(menuBackLayer, height); // on déplace le menu moveLayerTo(menuLayer, x, y); moveLayerTo(menuBackLayer, x, y); } // ouverture du menu function showMenu(id) { if (id != currentMenu && activeMenu) { // on désactive le menu en cours hideMenu(); // activation du menu currentMenu = id; var layer = getLayer("menu" + id); var layerBack = getLayer("menuBack" + id); showLayer(layer); showLayer(layerBack); } } // fermeture du menu function hideMenu() { if (currentMenu != "" && activeMenu) { // désactivation du menu var layer = getLayer("menu" + currentMenu); var layerBack = getLayer("menuBack" + currentMenu); hideLayer(layer); hideLayer(layerBack); currentMenu = ""; } } // roll-over à l'intérieur des menus function setMenuClass(id, className) { if (!isSF) { swapLayerClass("menuContent" + id, "menuContent" + className); } } // test de la souris pour le maintenir le menu ouvert function mouseMove(e) { if (isIE) { var x = event.clientX + document.body.scrollLeft; var y = event.clientY + document.body.scrollTop; } else { var x = e.pageX var y = e.pageY } if (currentMenu != "") { var menuLayer = getLayer("head" + currentMenu); var mLeft = getPageLeft(menuLayer); var mRight = mLeft + 130; var mTop = getPageTop(menuLayer); var subMenuLayer = getLayer("menu" + currentMenu); var sLeft = getPageLeft(subMenuLayer); var sRight = getPageRight(subMenuLayer); var sTop = getPageTop(subMenuLayer); var sBottom = getPageBottom(subMenuLayer); if (((x < mLeft || x > mRight) && y < sTop) || ((x < sLeft || x > sRight) && y > sTop) || y < mTop || y > sBottom) hideMenu(); } } */