question basique pour un Webmaster, help please !!

question basique pour un Webmaster, help please !! - Windows & Software

Marsh Posté le 27-02-2001 à 18:49:52    

salut à vous ö webmaster
 
est il possible de precharger pour une meme image plusieurs fichiers , en vue d'un rollover ?
 
En bref, j'ai un gif dont son image peut etre swappée (changée), mais on ne sais jamais à l'avance quel fichier va etre appellé par le rollover. ce meme gif peut etre swappé vers tel ou tel fichier gif, et il y a Deux gif possibles.
 
Donc est il possible de precharger ces 2 fichiers gifs?
c'est pour des boutons, donc la reaction doit etre rapide.
 
En vous remerciant d'avance pour votre aide.

Reply

Marsh Posté le 27-02-2001 à 18:49:52   

Reply

Marsh Posté le 27-02-2001 à 19:33:17    

comment se fait il que t'es fichiers ne soient pas connus au départ, t'as bien fais ton OnMouseOver?

Reply

Marsh Posté le 27-02-2001 à 21:38:53    

en direct de ma production :
 
valable pour 3 images On/Off (donc 6 images au total)
 
<script LANGUAGE="JavaScript">
     browserName = navigator.appName;
     browserVer = parseInt(navigator.appVersion);
             if ( browserVer >= 3) animate = "Yes";
        else animate = "No";
                if (animate == "Yes" )         {
             toc1on = new Image();
             toc1on.src = "images/titre1on.gif";
             toc2on = new Image();
             toc2on.src = "images/titre2on.gif";
             toc3on = new Image();
             toc3on.src = "images/titre3on.gif";
             toc1off = new Image();
             toc1off.src = "images/titre1off.gif";
             toc2off = new Image();
             toc2off.src = "images/titre2off.gif";
             toc3off = new Image();
             toc3off.src = "images/titre3off.gif";
             }
     function img_act(imgName) {
             if (animate == "Yes" ) {
             imgOn = eval(imgName + "on.src" );
             document [imgName].src = imgOn;
             }
     }
     function img_inact(imgName) {
             if (animate == "Yes" ) {
             imgOff = eval(imgName + "off.src" );
             document [imgName].src = imgOff;
             }
     }
     
</script>
 
 
dans le lien tu mets :
 
<a href="chacun.htm" ONMOUSEOVER="img_act('toc1')" ONMOUSEOUT="img_inact('toc1')"><img src="images/titre1off.gif" name="toc1"  border="0" WIDTH="300" HEIGHT="68"></a><br>

Reply

Marsh Posté le 28-02-2001 à 11:31:25    

Bon ca n'est pas exactement ce que je demandais, mais votre aide m'a tout de meme servi.
 
betomy> ton code sert à s'adresser à tel ou tel bouton pour le swapper vers 2 images possibles, ca n'est pas tout à fait mon cas.
 
je pond mon code, et vous le montre si vous voulez.
 
Concretement voici ce que j'ai: une banner avec des boutons composés de 3 gifs.
 
exemple d'un bouton au repos:
\ info \
où "\" est le premier gif, "info" est le deuxieme gif, "\" le troixieme gif.
 
ce meme bouton activé:
/ info \
 
ce meme bouton si le bouton suivant est activé:
 
\ info /
 
Donc pour le premier et le troixieme gif, il y a plusieurs possibilités en fonction de quel bouton est enfoncé, d'où mon soucis, de precarger tous les gifs.

Reply

Marsh Posté le 28-02-2001 à 17:08:50    

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

Reply

Marsh Posté le 28-02-2001 à 17:14:52    

oops, j'ai oublier de preciser une balise importante:
 
<body onLoad="setInterval('appel_btn();',500);" ...
 
et à quoi serve le duo des fontions:
 
appel_btn
Lnch_btn
 
appel_btn scanne la variable "inbtn" pour voir si l'on demande à enfoncer un bouton.
 
Ainsi, il me suffit pour chaque page de rajouter un petit script qui renseigne la variable "inbtn"
 
resultat: si dans une page quelconque, je place un lien vers une autre page ne faisant pas partie de la rubrique en cours, lorsque je cliquerais sur le lien, le bouton correspondant à la rubrique de la page appellée, s'enfoncera de lui meme.
 
ainsi, le bouton enfoncé de la banner, representera toujours la rubrique dans lequel le visiteur se trouve.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed