Logo JsDir.com [niente]
Bring Your Site To Life!!!
4 Febbraio 2012 - 20:49:52 - 14 scripters on-line! - La tua posizione nel sito: StaffScripts/Script067/
BedInLecce
StaffScripts
Rollover Three-State per sito con frames

Autore: Riccardo Data: 25/03/2002 Downloads: 572 Voto: 2,3/5 Download P r o v a


Rollover Three-State per sito con frames

      Al contrario dello script precedente (RollOver Three-State per sito senza frames) qui non abbiamo bisogno di gestire il cambio di pagina nello script, dato che le pagine cliccate verranno caricate in un frame diverso da quello dove lavora il menu, l'unica cosa cheè necessario gestire è il rollover delle immagini.
      Nel codice che segue ho evidenziato solo le porzioni modificate (ovviamente non c'è più la funzione Bottoni() né l'event-handler nel <body>)
<SCRIPT>
<!--
var nome = new Array ("a","b","c")
var source = new Array ();
var sourceoff = new Array ();
var sourceon = new Array ();
var numattivo=0;
for (conta in nome)
   {
   source[conta] = new Image();
   source[conta].src = nome[conta]+".gif";
   sourceoff[conta] = new Image();
   sourceoff[conta].src = nome[conta]+"_p.gif";
   sourceon[conta] = new Image();
   sourceon[conta].src = nome[conta]+"_on.gif";
   }
		
function swp(numero)
   {
   if (numattivo!=numero)
      document[String(nome[numero])].src=source[numero].src;
   }

function UNswp(numero)
   {
   if (numattivo!=numero)
      document[String(nome[numero])].src=sourceoff[numero].src;
   }

function bton(numero)
   {
   var oldnum=numattivo;
   numattivo=numero;
   UNswp(oldnum);
   document[String(nome[numero])].src=sourceon[numero].src;
   }
//-->
</SCRIPT>
 . . .
 <BODY ...  >
 . . .
 <A HREF="pagina_1.html" TARGET="sito" onClick="bton(0)" onMouseOver="swp(0)" onMouseOut="UNswp(0)">> [... 
    ...] <IMG BORDER="0" SRC="a_p.gif" NAME="a" WIDTH="81" HEIGHT="14"></A>
 . . .
Notiamo subito che questa volta la variabile numattivo non è semplicemente dichiarata, bensì posta uguale a zero, altrimenti alla prima esecuzione otterremmo un errore perché non farebbe riferimento a nessuna immagine.
      La prima differenza che troviamo, sempre rispetto all'altro RollOver Three-State, è che il link ora non ha più bisogno di portarsi dietro i numero di bottone cliccato, perché la pagina voluta viene caricata altrove ed il frame che contiene il menu non cambia.
      Resta naturalmente la solita funzione bton() che questa volta fa un lavoro leggermente diverso: prima si conserva in una variabile locale (oldnum) il vecchio valore di numattivo (cioè l'indice dell'eventuale bottone cliccato in precedenza), poi assegna a numattivo il nuovo valore ricevuto dal link.
      L'operazione successiva è riportare allo stato iniziale (UNswp()) il bottone che era stato cliccato in precedenza, alla fine provvede a cambiare l'immagine associata al link cliccato.

      Tutto qua.
      Ovviamente lo script presuppone che il frame del menu rimanga fisso e non venga mai cambiato dal resto del sito.
      Se doveste avere questa necessità, sarà sufficiente ripristinare la funzione Button() vista nello script precedente ed eventualmente passargli il giusto parametro MenuButton, ma è un'eventualità che non dovrebbe verificarsi.



Per navigare correttamente il sito è necessario abilitare i cookies.
Enjoy Open Source!
ffx80bl2

    javascript
 
 
 
         Stampa
          Segnala
          Preferiti





ffx1203