Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di Graboid
    Registrato dal
    Oct 2004
    Messaggi
    619

    Funzione javascript che alla pressione di un link switcha la classe del link stesso

    Ciao,
    sto cercando i fare una funzione che mi cambi il foglio di stile associato al link che fa partire la funzione.
    per semplificare l'esempio diciamo che voglio che al click diventi rosso, al click successico blu, al click successivo rosso, poi blu, rosso, blu e così via.

    La console javascript di firefox mi da questo errore:

    variable search hides argument


    Non capisco cosa c'e' che non va in questa funzione

    codice:
    var search = 0;
    			function active_tab4(search){
    			
    				alert(search);
    				if(search == 0){
    				
    					var nuovo = document.getElementById("nuovo");
    							nuovo.className = "activetab4";
    						
    					var ricerca = document.getElementById("ricerca");
    							ricerca.className = "tab4";
    						
    					var search = 1;
    				}else{
    				
    					var nuovo = document.getElementById("nuovo");
    							nuovo.className = "tab4";
    						
    					var ricerca = document.getElementById("ricerca");
    							ricerca.className = "activetab4";
    						
    					var search = 0;
    				}
    			}
    Ciao

  2. #2
    Utente di HTML.it L'avatar di Graboid
    Registrato dal
    Oct 2004
    Messaggi
    619
    Dimenticavo,

    alert dentro la funzione mi stampa undefined, il problema e' tutto li forse

  3. #3
    Utente di HTML.it L'avatar di Graboid
    Registrato dal
    Oct 2004
    Messaggi
    619
    rettifico:

    lasciate stare la storia dell'alert.


    Il punto adesso e' come faccio a passare dal link il valore di search?

    Ricerca

  4. #4
    Provo a spararla, ma non ne sono affatto sicuro. Prova a passare this come argomento.

  5. #5
    Utente di HTML.it L'avatar di Graboid
    Registrato dal
    Oct 2004
    Messaggi
    619
    No non va neanche questa.

    Eppure mi sembrava una cosa così facile...

  6. #6
    Utente di HTML.it L'avatar di Graboid
    Registrato dal
    Oct 2004
    Messaggi
    619
    Ho provato a far stampare il tag da javascript in modo da poter usare la variabile search

    codice:
    <script type="text/javascript"> 
    <!--
    document.write('<a href="javascript:activetab4('+search+');" class="tab4" id="ricerca">');
    -->
    </script>
    Qualcosa è successo, adesso passando col mouse sopra al link vedo che la funzione passa sempre "0", questo vuol dire che il problema e' che l afunzione non riesce a risettare la variabile search che e' fuori dalla funzione stessa.

  7. #7
    Utente di HTML.it L'avatar di Graboid
    Registrato dal
    Oct 2004
    Messaggi
    619
    Rettifico ancora

    la funzione riesce a risettare la variabile search ma nel link per qualche motivo resta sempre la variabile serach impostata a "0".

    Aiuto

  8. #8
    Prova a togliere la dichiarazione di var davanti a search. Tu devi valorizzarla, non inizializzarla.

  9. #9
    Utente di HTML.it L'avatar di Graboid
    Registrato dal
    Oct 2004
    Messaggi
    619
    Ho tolto i due var prima dei search da dentro la funzione ma ancora niente.

    Il problema e' che qundo io ne link scrivo così:

    href="javascript:activetab4('+search+');"

    quel search si riferisce sempre e comunque alla variabile serach inizializzata a mano a "0" prima della funzione e se non la inizializzo il search prende come valore "undefined".

  10. #10
    Prova così:

    codice:
    var nuovo = document.getElementById('nuovo')
    var ricerca = document.getElementById('ricerca')
    var search = 0
    
    function active_tab4()
    {
       if ( search == 0 )
       {
          nuovo.className = 'activetab4'
          search = 1
          return
       }
       else if ( search == 1 )
       {
          ricerca.className = 'tab4'
          search = 0
          return
       }
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.