Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    170

    SetIntervall e Clearinterval non va...

    Salve a tutti.

    Ho creato un oggetto del tipo...

    codice:
    function Timer(){
         this.intervallo;
         this.aggiorna = function(){
             if(miaCondizione)
                window.clearIntervall(this.intervallo);
          }
    }
    
    faccio una cosa del genere
    
    mioTimer = new Timer();
    mioTimer.intervallo = window.setIntervall("mioTimer.aggiorna",1000);
    FUnziona tutto ok il timer parte fa quello che deve e alla condizione fa quello che deve...tranne che il clearIntervall non cancella l'intervallo.
    Se stampo la variabile intervall mi da un numero tipo 1972 quindi lo memorizzo l'ID ma perchè il clearIntervall nonstante sia chiamato non interrompe nulla???
    Non posso usare variabili globali, non mi piace e poi dovrei creare un array di intervalli....

    Qualcuno ha la soluzione??
    Qualcuno mi spiega che sbaglio?

    Grazie!

    P.S. se ho scordato qualcosa o non sono stato chiaro chiedetemi pure please ciao!

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    170
    Aggiungo una cosa che ho appena notato....

    Se uso un solo setIntervall va tutto ok se già uso più setIntervall in più istanze del mio oggetto timer sorge il problema.

  3. #3
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    intanto scrivi setInterval e clearInterval con una sola 'elle' finale... facendo così funziona?
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    170
    HAHA sisi scusa ho sbagliato scrivendo veloce ma il problema non è quello...sto provando a mettere tutti i timer in un array e poi nel setInterval metto come funzione

    window.setInterval("gestore.arrayTimer[" + index + "]",1000);

    Ma non va....

    Che palle non ci credo che non c'è una soluzione senza var globali....

  5. #5
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    codice:
    var mioTimer = new Timer();
    mioTimer.intervallo = setInterval(function() {
      mioTimer.aggiorna();
    }, 1000);
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    170
    Ciao.
    Non ci crederai ma avevo appena trovato la stessa soluzione

    window.setInterval(function(){mioTimer.aggiorna(); }, 1000);

    La stavo per postare....arrivavi 2 minuti prima mi risparmiavi di cercare la soluzione.
    Infatti in un post trovato qua http://bytes.com/topic/javascript/an...bject-function parlavano del problema e l'unica soluzione funzionante sembra questa.

    Ora provo se funziona pure su firefox e iexplore...

    Ciao e grazie!

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.