Pagina 1 di 9 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 81
  1. #1
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182

    interval-ID passaggio alla funzione

    forse il titolo non è molto chiaro ma non sapevo come descrivere così brevemente la situazione

    poniamo di avere una funzione qualsiasi da richiamare con setInterval
    codice:
    function pippo(){
    //azioni
    if(//condizione_verificata){
    clearInterval(identita);
    }
    }
    identita = setInterval(pippo, 1000);
    niente di strano o anormale, la funzione viene eseguita fino a che non viene richiamato il clearInterval

    arrivo al dunque, poniamo di avere quest'altra situazione
    codice:
    function pippo(ID){
    //azioni
    if(//condizione_verificata){
    clearInterval(ID);
    }
    }
    identita = setInterval(pippo, 1000, identita);
    in questo caso il parametro ID passato alla funzione dovrebbe coincidere con l'identificativo dell'intervallo, ossia identita, invece in questo modo l'intervallo non viene mai bloccato, poichè all'interno della funzione ID risulterà undefined,
    ora la mia domanda è --> Esiste un modo di passare l'ID dell'intervallo alla funzione richiamata, senza conoscerne a priori il nome, ma passandolo come parametro della funzione stessa?

    grazie a tutti per l'attenzione

  2. #2
    ancora niente quì..
    non c'era un'idea?
    Interactive Html/CSS/JS Playground | @webbeloz ( cip..cip! )
    Mechanics & Expert Tuning Fix Z3 Roadster Community

  3. #3
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da webbeloz
    ancora niente quì..
    non c'era un'idea?
    serve anche a te eh?!

    ho fatto una prova ma non è andata a buon fine,

    come si può comprendere dal mio post, l'utilità di un'azione del genere è quella di azzerare gli intervalli ad esempio nell'esecuzione di cicli, chessò una funzione di preload richiamata per una serie di thumbs, con la mia ipotesi, che non và, avremo avuto una cosa tipo
    codice:
    for (i=0; i<20; i++){
    _root["intv"+i] = setInterval(funzione, tempo);
    }
    e nella funzione un clearInterval(_root["intv"+i]);

    se qualcuno ha un soluzione valida...io son sempre qui, tante grazie

  4. #4
    Originariamente inviato da and80
    serve anche a te eh?!

    ho fatto una prova ma non è andata a buon fine,

    come si può comprendere dal mio post, l'utilità di un'azione del genere è quella di azzerare gli intervalli ad esempio nell'esecuzione di cicli, chessò una funzione di preload richiamata per una serie di thumbs, con la mia ipotesi, che non và, avremo avuto una cosa tipo
    codice:
    for (i=0; i<20; i++){
    _root["intv"+i] = setInterval(funzione, tempo);
    }
    e nella funzione un clearInterval(_root["intv"+i]);

    se qualcuno ha un soluzione valida...io son sempre qui, tante grazie
    così non azzera?
    Interactive Html/CSS/JS Playground | @webbeloz ( cip..cip! )
    Mechanics & Expert Tuning Fix Z3 Roadster Community

  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da webbeloz
    così non azzera?
    no, continua ad eseguire,
    tra l'altro, oltre ad eseguire le azione fuori dall'if esegue anche quelle interne, basta mettere un trace dopo il clearInterval per vedere che l'intervallo non viene bloccato, ma appena lo chiami per nome nel clearInterval, tutto è ok :master: :master:

  6. #6

  7. #7
    Utente di HTML.it L'avatar di nep036
    Registrato dal
    Nov 2003
    Messaggi
    1,453

    Re: interval-ID passaggio alla funzione

    Originariamente inviato da and80

    ora la mia domanda è --> Esiste un modo di passare l'ID dell'intervallo alla funzione richiamata, senza conoscerne a priori il nome, ma passandolo come parametro della funzione stessa?

    grazie a tutti per l'attenzione
    Ti da undefined sul ID perchè quando passi il valore alla funzione non hai messo le "", cioè avresti dovuto fare:

    identita = setInterval(pippo, 1000, "identita");

    Però anke facendo cosi, con ID = ad identita, stranamente il clearInterval() non accetta una variabile, in questo caso ID...

    Ho fatto un po di ricerche, ma non ho trovato niente.
    E ho fatto anke molte prove, ma niente.


    Stiamo a vedere...

  8. #8
    Utente di HTML.it L'avatar di nep036
    Registrato dal
    Nov 2003
    Messaggi
    1,453

  9. #9
    Utente di HTML.it L'avatar di nep036
    Registrato dal
    Nov 2003
    Messaggi
    1,453
    Probabilmente non centra una mazza con quello che intendi, però cosi il risultato dovrebbe essere lo stesso...boh è tardi e non ci capisco più niente...

    codice:
    obj = new Object();
    obj.pippo = function() {
    	i++;
    	trace(i);
    	if (i>5) {
    		trace("ok");
    		delete obj;
    	}
    };
    prova = setInterval(obj, "pippo", 500);

  10. #10
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da nep036
    Probabilmente non centra una mazza con quello che intendi, però cosi il risultato dovrebbe essere lo stesso...boh è tardi e non ci capisco più niente...

    codice:
    obj = new Object();
    obj.pippo = function() {
    	i++;
    	trace(i);
    	if (i>5) {
    		trace("ok");
    		delete obj;
    	}
    };
    prova = setInterval(obj, "pippo", 500);


    non è affatto stupida come idea, così elimini l'oggetto che contiene la funzione e l'intervallo pesca a vuoto, bisognerebbe solo verificare sul "lungo periodo" quanto questo possa incidere sulla cpu, sopratutto quando gli oggetti sono svariati, devo verificare... grazie per l'interessamento

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.