Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Set interval Jquery

  1. #1

    Set interval Jquery

    Vorrei che a ogni click il setinverval si fermassee ,creandone un nuovo ciclo con nuovi parametri ,ma sembra che ad ogni click crea un nuovo setinveral senza terminare il precedente,almeno credosia questo il problema


    codice:
    .
    .
    .
    
    	 
    	  $(".mc").click(function () {	  
    	    	
    			clearInterval(loopchat);
    			$("#chatbox").html("");			
    			var  user =$(this).attr('data');
    			lasttime(user);
    			updatemessagge(user);
    			
    			var loopchat = setInterval(function(){
    				aggiorna(user);
    			},3000);
    			
    				
    		});
    .
    .
    		function aggiorna(u){
    			lasttime(u);
    			updatepartmessagge(u);
    		}
    .
    .
    .

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    209
    Prova a dichiarare la variabile loopchat al di fuori del corpo del click

    codice:
    var loopchat
    ...
    $(".mc").click(function () {	  
       clearInterval(loopchat);
       ...
      loopchat = setInterval(function(){
      aggiorna(user);
      },3000);
    }
    ...

  3. #3
    Nada niente da fare ad ogni click crea un nuovo setInterval :S

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    209
    Strano, rispetti la sequenza di dichiarazioni e document.ready?

    codice:
    var loopchat = null;
    
    $(document).ready(
    ...
    $(".mc").click(function () {	  
       clearInterval(loopchat);
       ...
      loopchat = setInterval(function(){
      aggiorna(user);
      },3000);
    }
    ...
    );

  5. #5
    Grazie ma ho risolto volete la soluzione ?

  6. #6
    codice:
    	 $(document).ready(function() {
    			var user='';
    			var datat ='';
    			var temp = 0;
    	 
    	 var partner = <?php echo $_GET['partner'];?>;
    	 //updateguest(partner);
    
    	  $(".mc").click(function () {	  
    	    	
    			
    			
    			$("#chatbox").html("");			
    			var  user =$(this).attr('data');
    			lasttime(user);
    			updatemessagge(user);
    			
    			destroy(temp);
    			
    			
    			var loopchat = setInterval(function(){
    				aggiorna(user);
    				temp = loopchat;
    			},3000);
    			
    			
    			
    			
    				
    		});
    		function destroy(id){
    		 clearInterval(id);
    		}

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    209
    Lieto che tu abbia risolto, cmq teoricamente ottieni il risultato giusto anche mettendo var loopchat prima di $(document).ready

  8. #8
    Si avevo provato cosi ma non mi fa...

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    209
    Ok, mi ricorderò della tua soluzione in futuro

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.