BOn j'ai fini mon code,
en fait j'ai du simplifier, car si je m'etais tenu à ce que j'ai ecrit precedemment, j'aurais eu des Bugs graphiques.
Avant, je voulait que les rollover fassent reagir les boutons, mais que si je clic sur un bouton, celui ci reste enfoncé.
Resultat, si je cliquais sur le bouton 3 (appelons le titi)
puis que je deplacais ma souris sur le bouton 2 (appelons le info)
j'aurais eu un bug graphique, bref... je vous passe les details, je ne vais pas attaquer un nouveau chapitre juste pour detailler ce point.
Comme promis, voici pour ceux que ca interressent, mon code:
<script LANGUAGE="JavaScript">
// Base du script offerte par Betomy sur Hardware.fr, script revu et modifié par giova de medialon.com
// ajout et modifs de giova: simplification de l'appel de certaines fonctions (moins de param d'entrée), ajout d'une fonction pour appeller un bouton depuis une autre frame afin de s'assuré que le bon bouton soit toujours correctement enfoncé en fonction de la rubrique au quel appartient la page appelante.
browserName = navigator.appName;
browserVer = parseInt(navigator.appVersion);
// variable d'entrée designant le bouton appellé par une aute page
inbtn = -1
// variable d'entrée designant le bouton appellé dans la frame du banner
Lnchbtn = -1
// variable deignant le bouton actuellement actif (de 1 à nbrbtn, -1 = aucun)
actbtn = -1
//variable designant le nombre de boutons presents
nbrbtn = 7
// et c'est parti mon kiki, on precharge les gifs, on prepare sa soupe quoi
if ( browserVer >= 3) animate = "Yes";
else animate = "No";
if (animate == "Yes" )
{
interOFF = new Image();
interOFF.src = "images/I_Banner/interE.gif";
interOnAvant = new Image();
interOnAvant.src = "images/I_Banner/interA1.gif";
interOnApres = new Image();
interOnApres.src = "images/I_Banner/interA2.gif";
IMG1On = new Image();
IMG1On.src = "images/I_Banner/bouton1a.gif";
IMG2On = new Image();
IMG2On.src = "images/I_Banner/bouton2a.gif";
IMG3On = new Image();
IMG3On.src = "images/I_Banner/bouton3a.gif";
IMG4On = new Image();
IMG4On.src = "images/I_Banner/bouton4a.gif";
IMG5On = new Image();
IMG5On.src = "images/I_Banner/bouton5a.gif";
IMG6On = new Image();
IMG6On.src = "images/I_Banner/bouton6a.gif";
IMG7On = new Image();
IMG7On.src = "images/I_Banner/bouton7a.gif";
IMG1Off = new Image();
IMG1Off.src = "images/I_Banner/bouton1e.gif";
IMG2Off = new Image();
IMG2Off.src = "images/I_Banner/bouton2e.gif";
IMG3Off = new Image();
IMG3Off.src = "images/I_Banner/bouton3e.gif";
IMG4Off = new Image();
IMG4Off.src = "images/I_Banner/bouton4e.gif";
IMG5Off = new Image();
IMG5Off.src = "images/I_Banner/bouton5e.gif";
IMG6Off = new Image();
IMG6Off.src = "images/I_Banner/bouton6e.gif";
IMG7Off = new Image();
IMG7Off.src = "images/I_Banner/bouton7e.gif";
}
//Fonction d'appel depuis un autre Frame
function appel_btn() {
if ( ( inbtn != -1 ) || ( inbtn != actbtn ) ) img_act(inbtn);
}
// Fonction d'appel depuis la frame du Banner
function Lnch_btn(Lnchbtn) {
inbtn = Lnchbtn;
}
//Fonction d'activation d'un bouton, on precise juste la position du bouton dans la banner, (de 1 à nbrbtn)
function img_act(pos) {
if (animate == "Yes" ) {
//On relache d abord l'ancien bouton actif si besoin est
if ( actbtn >= 1 && actbtn <= nbrbtn ) img_inact(actbtn);
// Maintenant on enfonce le bouton (3 gif à swapper)
if (pos > 1) {
imgOn = eval("interOnAvant.src" );
document [("inter" + ( pos - 1 ))].src = imgOn;
}
if ( pos < nbrbtn ) {
imgOn = eval("interOnApres.src" );
document [("inter" + pos )].src = imgOn;
}
imgOn = eval("IMG" + pos + "On.src" );
document [("IMG" + pos )].src = imgOn;
// on memorise dans actbtn quel bouton vient d'etre enfoncé
actbtn = pos ;
}
}
//Fonc pour inactiver un bouton
function img_inact(pos) {
if (animate == "Yes" ) {
if (pos > 1) {
imgOff = eval("interOFF.src" );
document [("inter" + ( pos - 1 ))].src = imgOff;
}
if ( pos < nbrbtn ) {
imgOff = eval("interOFF.src" );
document [("inter" + pos )].src = imgOff;
}
imgOff = eval("IMG" + pos + "Off.src" );
document [("IMG" + pos )].src = imgOff;
}
}
</script>
Et sur chaques boutons, dans leur balise <aW, j'ai mis:
ONCLICK="Lnch_btn(4)"
où quatre et la position du bouton dans la banniere (j'ai 7 boutons, donc ca va de 1 à 7)
ciao