Pagina 3 di 9 primaprima 1 2 3 4 5 ... ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 81
  1. #21
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da nep036
    codice:
    function pippo(ID){
    //azioni
    if(//condizione_verificata){
    clearInterval(ID);
    }
    }
    identita = setInterval(pippo, 1000, identita);
    Cioè qui cosa cambia se scrivi il nome identita anche nella funzione?

    Voglio dire comunque l'interval identita si riferisce solo e soltanto a pippo, quindi pippo sa gia quale interval chiudere nel caso...

    mi segui?
    si, guarda il mio post appena sopra

  2. #22
    Utente di HTML.it L'avatar di nep036
    Registrato dal
    Nov 2003
    Messaggi
    1,453
    Originariamente inviato da and80
    non è per risparmiare righe, l'utilità l'ho scritta intorno al quinto post, lo riporto
    Ok ok

    Se la soluzione del object non comportasse un lavoro inutile (chiaramente invisibile) quindi andrebbe bene?


  3. #23
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da nep036
    Ok ok

    Se la soluzione del object non comportasse un lavoro inutile (chiaramente invisibile) quindi andrebbe bene?

    penso che potrebbe andare nella forma

    codice:
    funzione = function(){
    //azioni
    if(//condizione){
    delete (obj);
    }
    }
    obj = new Object();
    obj.pippo = funzione();
    prova = setInterval(obj, "pippo", 500);
    ma non lo posso provare perchè ora son in studio

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

    però mi sorge un altro dubbio:

    con il ciclo for che fai in pratica partirebbero praticamente 20 setInterval insieme, e la cosa potrebbe essere destabilizzante...

    tranne se ognuno parte alla conclusione dell'altro...

    Cmq non ti confondo più, aspetto le tue prove...


  5. #25
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da nep036
    Ok...

    però mi sorge un altro dubbio:

    con il ciclo for che fai in pratica partirebbero praticamente 20 setInterval insieme, e la cosa potrebbe essere destabilizzante...

    tranne se ognuno parte alla conclusione dell'altro...

    Cmq non ti confondo più, aspetto le tue prove...

    ecco il perchè della necessità di usare nomi di intervallo diversi e di poterli annullare quando necessario... sta tutto lì il problema

    forse il setInterval ha ancora troppe limitazioni, mi tocca ancora usare l'onEnterFrame e al posto delle funzioni i prototype

  6. #26
    Utente di HTML.it L'avatar di nep036
    Registrato dal
    Nov 2003
    Messaggi
    1,453
    codice:
    funzione = function () {
    	i++;
    	trace(i);
    	if (i>10) {
    		delete (obj);
    	}
    };
    obj = new Object();
    obj.pippo = funzione();
    prova = setInterval(obj, "pippo", 500);
    Cosi come hai scritto non può funzionare, perchè il setInterval ripete la funzione pippo di obj...

    Perchè hai messo la funzione "funzione" fuori dal obj?

  7. #27
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da nep036
    codice:
    funzione = function () {
    	i++;
    	trace(i);
    	if (i>10) {
    		delete (obj);
    	}
    };
    obj = new Object();
    obj.pippo = funzione();
    prova = setInterval(obj, "pippo", 500);
    Cosi come hai scritto non può funzionare, perchè il setInterval ripete la funzione pippo di obj...

    Perchè hai messo la funzione "funzione" fuori dal obj?
    sempre per lo stesso motivo descritto sopra
    codice:
    funzione = function (ID) {
    	i++;
    	trace(i);
    	if (i>10) {
    		delete (ID);
    		trace ("Finita!");
    	}
    };
    for(i=1; i<=20; i++){
    	_root["obj"+i] = new Object();
    	_root["obj"+i].pippo = funzione(_root["obj"+i]);
    	_root["prova"+i] = setInterval(_root["obj"+i], "pippo", 500);
    }
    non so se funziona così, è solo un'ipotesi

  8. #28
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da and80
    [...]
    non so se funziona così, è solo un'ipotesi
    non ha funzionato poichè una funzione richiamata più volte continua ad assumere sempre il valore dell'ultimo richiamo, inizio a pensare che sia questo il problema principale e che sia per questo che il clearInterval deve avere un argomento preciso e non pescato da funzione,
    l'unico modo di dare più esecuzioni ad una funzione, è quello di richiamarla come metodo (prototype ad esempio), peccato, mi sarebbe tornato più che utile per le applicazioni dinamiche, visto che il setInterval prende meno risorse dell'enterFrame

    comunque la discussione è ancora aperta, se qualcuno ha altre idee, si faccia pure avanti

  9. #29
    E' normale che passando il valore del'interval come parametro alla funzione da undefined, perchè nel momento che lo passi ancora non esiste, prova a fare una cosa del genere, vedrai che funziona alla grande.
    Prima richiami la funzione e passi un valore casuale, subito dopo richiami la stessa funzione passando come parametro l'interval, la prima volta ti stamperà solo prova, poi ti stamperà sempre 1, tu basta che interrompo l'interval che non ti serve subito, e poi interrompi l'altro solo quando ne hai bisogno. non so se nel tuo caso ti possa essere di aiuto per quello che devi fare, ma funziona.
    codice:
    function pippo(inValue){
    	trace(inValue);
    	clearInterval(valore);
    }
    valore=setInterval(pippo,1000,"prova");
    valore1=setInterval(pippo,1000,valore);

  10. #30
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da jeck
    E' normale che passando il valore del'interval come parametro alla funzione da undefined, perchè nel momento che lo passi ancora non esiste, prova a fare una cosa del genere, vedrai che funziona alla grande.
    Prima richiami la funzione e passi un valore casuale, subito dopo richiami la stessa funzione passando come parametro l'interval, la prima volta ti stamperà solo prova, poi ti stamperà sempre 1, tu basta che interrompo l'interval che non ti serve subito, e poi interrompi l'altro solo quando ne hai bisogno. non so se nel tuo caso ti possa essere di aiuto per quello che devi fare, ma funziona.
    codice:
    function pippo(inValue){
    	trace(inValue);
    	clearInterval(valore);
    }
    valore=setInterval(pippo,1000,"prova");
    valore1=setInterval(pippo,1000,valore);
    interessante, non avevo considerato l'ipotesi che l'undefined fosse dovuto al fatto che l'intervalID risultasse ancora inesistente, però ne ho capito il meccanismo...magari riesco a ricavare qualcosa di stabile per la mia intenzione, grazie mille dell'intervento jeck

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.