Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    617

    Cambiare il valore di una variabile cliccando su un tasto (jquery)

    Come da titolo mi trovo, da niubbo del javascript ad affrontare una cosa che in php trovo faceilissima che in javascript proprio non mi viene.

    In pratica appena si apre la pagina web viene letta l'index che contiene un file esterno js dove metto tutto il mio javascript in particolare funzioni jquery.

    Al di fuori del classico document ready purile per jquery creo una variabile così: var lato="left";

    Ora, a seconda di certi click che avviano funzioni jquery(aperture e chiusure di box e quant'altro) vorrei che questa variabile lato cambiasse il suo valore da left a right e su altri click da right a left. Niente non riesco.

    Ecco un esempio scemo ma che cmq non funziona:

    codice:
    var lato = "left";
    
    $(document).ready(function(){
    
    	
    $(".ciao").click(function(){
    
    	 
       var ciao = "ciao2";
      
    })
      
     
    });
    Come potrei fare?

    Grazie in anticipo!

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,132
    Ma... sicuramente nel tuo codice ci sono due variabili diverse e la spiegazione è un po confusa, comunque questo:
    codice:
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title></title>
    <script type="text/javascript" src="jquery-1.4.4.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){
    	var DIV = 'valore variabile';
    	$(".div").text(DIV);
    	$(".div").bind('click', function(){	 
       DIV = "Nuovo valore variabile";
      $(".div").text(DIV);
    })
    });
    </script>
    <style type="text/css">
    .div{
    	border: 2px solid #999;
    	cursor:pointer;
    }
    </style>
    </head>
    <body>
    <div class="div"></div>
    </body>
    </html>
    questo esempio funziona
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    617
    Posto un codice che spero sia piu semplificato per farti capire il mio problema. In pratica io non devo cambiare il contenuto di un div ma semplicemente il valore di una variabile, perchè se quella variabile cambia parte un'animazione diversa sullo stesso evento.

    Nel codice che riporto, per semplificare la vita ho fatto 1 bottone, che a seconda della variabile lato dovrebbe animare il div prova_1 in maniera diversa (lo so che si fa in un'altro modo per questo genere di animazioni, ma a me serve che cambi la variabile non è importante al momento l'animazione o il tipo,a me servirà il cambio di variabile per determinare quali box animare):

    apro la pagina e la variabile lato è uguale a left, clicco su bottone ,si anima prova_1 e cambia la variabile lato in "rigth".

    Tutto questo xchè ho un codice lunghissimo e voglio evitare di scrivere troppo, ma rendere la cosa un po' più dinamica.

    ecco il codice:
    codice:
    var lato = "left";  
    
    $('.div_1').live('click',function(){
    
    if(lato=="left"){ 
    
     $('.prova_1').animate({'margin-left':'153px'},1000) 	
    	 
    	 lato == "rigth";	
    	 
    }
    	 
    
    else if(lato=="rigth"){
    	
            $('.prova_1').animate({'width':'0px'},500)
    	
            lato == "left";	
    	 
    }
     
    });
    Spero di aver reso l'idea, purtroppo se posto il codice originale a mio avviso diventa tutto ancora più un casino.

    Grazie in anticipo!

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    617
    Per i posteri ho trovato questo girovagando in rete:

    var lato = {variabile:"left"} /*questo definisce la variabile, per me la si definisce in apertura di pagina*/


    lato.variabile="rigth"; /*Così la cambio all'interno di una funzione*/

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.