Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2000
    Messaggi
    303

    SetInterval con intervallo variabile

    Ciao a tutti, è tutto il giorno che sto impazzendo con questo problema ma dopo svariati tentativi ho alzato bandiera bianca...

    In breve: ho una funzione chiamata "sposta" che devo eseguire ciclicamente; e fin qui ci siamo.
    Se utilizzo
    Codice PHP:
    setInterval(sposta5000); 
    funziona tutto correttamente e viene eseguita ogni 5 secondi.

    Il problema deriva dal fatto che voglio cambiare l'intervallo in base ad un radiobutton.
    Se seleziono 1000 deve eseguirla ogni secondo, se seleziono 5000 deve eseguirla ogni 5 secondi, se seleziono FISSO deve eseguirla una volta sola.

    Ho provato così:
    Codice PHP:
    $(document).ready(function() {    $('input[type=radio][name=myRad]').change(function() {        if (this.value == 1000) {var interval setInterval(sposta1000);        }        else if (this.value == 5000) {var interval setInterval(sposta5000);} else {var interval setInterval(sposta9999999999);  }    }); 
    Se seleziono 1000 funziona; se provo a cambiare selezione impazzisce e la esegue anche 2 o 3 volte al secondo.

    ho provato pure così (senza la parte sopra ovviamente):
    Codice PHP:
    <form id="my_radio_box">    <input type="radio" name="myRad" onclick="setInterval(sposta, 1000);" value="1000" />     <input type="radio" name="myRad"  onclick="setInterval(sposta, 5000);" value="5000" /></form
    ma pure così stesso identico problema...

    Cosa mi sfugge?

    Grazie a tutti, buon lavoro.

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Con i campi radiobutton devi eseguire il controllo sull'attributo checked (cioè quale opzione ha selezionato?) non sul value
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Se non interrompi il ciclo precedente semplicemente ne affianchi un altro con intervallo diverso... ad libitum
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2000
    Messaggi
    303
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Con i campi radiobutton devi eseguire il controllo sull'attributo checked (cioè quale opzione ha selezionato?) non sul value
    Così comunque funziona, il valore viene passato... dici che tecnicamente è più corretto vedere quale bottone è checked?

    Quote Originariamente inviata da br1 Visualizza il messaggio
    Se non interrompi il ciclo precedente semplicemente ne affianchi un altro con intervallo diverso... ad libitum
    Sospettavo fosse un problema simile, infatti se ricarico la pagina e ne seleziono una sola delle opzioni funziona. Il problema si presenta quando voglio cambiare da un valore all'altro.
    Il fatto è che le ho provate tutte ma non riesco a stoppare la funzione... una volta che è avviata col suo intervallo, non c'è modo di bloccarla, salvo un reload della pagina.
    L'ideale sarebbe stopparla e cancellare l'intervallo... ma come?

    Ciao, a presto
    Ultima modifica di carloscara; 01-11-2015 a 23:22

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    clearInterval() ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  6. #6
    sbagliato thread

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.