Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di ca-j
    Registrato dal
    Jun 2004
    Messaggi
    208

    interrompere l'esecuzione di una funzione

    Ciao,
    ho una funzione che produce una serie di eventi che fungono da introduzione per un sito. Ora vorrei che alla pressione del pulsante "skip" la funzione si interrompesse.
    Si puó fare 'sta cosa?
    Salud y pesetas... y lo demás son puņetas!

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    20
    Se ho capito bene dovrebbe essere sufficiente un semplice return.



  3. #3
    Originariamente inviato da silver
    Se ho capito bene dovrebbe essere sufficiente un semplice return.
    Giusto

  4. #4
    Utente di HTML.it L'avatar di ca-j
    Registrato dal
    Jun 2004
    Messaggi
    208
    dove lo metto il return, se la funzione deve interrompersi al rilascio del bottone?
    Salud y pesetas... y lo demás son puņetas!

  5. #5
    Originariamente inviato da ca-j
    dove lo metto il return, se la funzione deve interrompersi al rilascio del bottone?
    Ma che funzione č? una funzione č fatta cosė, e non puoi interromperla al rilascio.

    codice:
    function nomeFunzione([param1],[param2]){
    //codice
    return
    }

  6. #6
    Utente di HTML.it L'avatar di ca-j
    Registrato dal
    Jun 2004
    Messaggi
    208
    Originariamente inviato da jeck
    Ma che funzione č? una funzione č fatta cosė, e non puoi interromperla al rilascio.


    function nomeFunzione([param1],[param2]){
    //codice
    return
    }
    Č una funzione che si ripete un tot di volte con la proprietá setInterval. Questa č la funzione:

    codice:
    function intro()	{
    	n++;
    	if (n<3)	{
    		masc1 = setInterval(function () {
    			//trace(n)
    			mensaje.gotoAndStop((n*2)-1);	
    			fotosopra.gotoAndStop((n*2)-1);
    			finestra1.muovescala(645,178,0,100,102,6);
    			clearInterval(masc1);}, 800);
    		masc1_2 = setInterval(function () { 
    			finestra1.muovescala(371,178,0,412,102,5);
    			clearInterval(masc1_2);}, 1500);
    		masc_out = setInterval(function () { 
    			fotosotto.gotoAndStop(n+1);
    			finestra1.muovescala(-130,178,0,100,102,4);
    			clearInterval(masc_out);}, 3500);
    		masc1_3 = setInterval(function () { 
    			mensaje.gotoAndStop(2*n);	
    			fotosopra.gotoAndStop(2*n);
    			finestra1.muovescala(95,177,0,100,102,5);
    			clearInterval(masc1_3);}, 4000);
    		masc_ing = setInterval(function () { 
    			finestra1.muovescala(371,178,0,412,102,5);
    			//fotosotto.gotoAndStop(1);
    			clearInterval(masc_ing);}, 5000);
    		masc_out2 = setInterval(function () { 
    			fotosotto.gotoAndStop(n*2);
    			
    			finestra1.muovescala(-100,178,0,100,102,4);
    			clearInterval(masc_out2);}, 6500);
    	}
    }
    La richiamo con:
    codice:
    setInterval(intro, 7000);
    ... e vorrei che fermasse l'esecuzione al rilascio del benedetto bottone. Ai posteri l'ardua sentenza, o a qualche illuminato del forum.
    Salud y pesetas... y lo demás son puņetas!

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    20
    idTimer = setInterval(intro, 7000);

    al rilascio del pulsante

    nomepulsante.onRelease = function(){
    clearInterval(<path>.idTimer);
    }

    il clearInterval dovrebbe interrompere la chiamata della funzione.

    E' importante che uno stesso setinterval non venga sovrapposto (richiamato) pių volte.
    Io personalmente metto sempre un clearInterval prima di ogni setInterval per evitare problemi.

    spero sia d'aiuto.

  8. #8
    Originariamente inviato da silver
    idTimer = setInterval(intro, 7000);

    al rilascio del pulsante

    nomepulsante.onRelease = function(){
    clearInterval(<path>.idTimer);
    }

    il clearInterval dovrebbe interrompere la chiamata della funzione.

    E' importante che uno stesso setinterval non venga sovrapposto (richiamato) pių volte.
    Io personalmente metto sempre un clearInterval prima di ogni setInterval per evitare problemi.

    spero sia d'aiuto.
    Quoto, metti un identificativo per la chiamata alla funzione, poi al rilasio del bottone o interrompi


  9. #9
    Utente di HTML.it L'avatar di ca-j
    Registrato dal
    Jun 2004
    Messaggi
    208
    Quello che scrivete va tutto bene, ma con clearInterval la funzione non si interrompe: semplicemente finisce il suo ciclo e non si ripete come da loop.
    Io volevo che si interrompesse sul momento per far finire l'intro e passare allo stage successivo.
    Salud y pesetas... y lo demás son puņetas!

  10. #10
    Originariamente inviato da ca-j
    Quello che scrivete va tutto bene, ma con clearInterval la funzione non si interrompe: semplicemente finisce il suo ciclo e non si ripete come da loop.
    Io volevo che si interrompesse sul momento per far finire l'intro e passare allo stage successivo.
    All'interno della funzione potresti far controllare una variabile sulla root, che se vera fai terminare la funzione con un return, non c'č altro modo di interrompere la 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.