Ho inizializzato un setInterval
codice:var intervallo = window.setInterval(function () { sndReq('Url='+update[2],update[0]); },5000);
è corretto disattivarlo così???
codice:clearInterval(intervallo);
sto provando ma non funza!
Ho inizializzato un setInterval
codice:var intervallo = window.setInterval(function () { sndReq('Url='+update[2],update[0]); },5000);
è corretto disattivarlo così???
codice:clearInterval(intervallo);
sto provando ma non funza!
Hosting, VPS, SSL e Domini: https://www.blooweb.it
Tutto dipende da come inizializzi la variabile intervallo... ne modo che tu usi si presume (manca il resto del codice) cghe suia fatto all'interno di una funzione... cosi' il scope (ovvero l'ambito nel quale esiste) e' solo quello della funzione che la definisce: dall'esterno e da altre funzioni e' invisilbile.
ciaocodice:var intervallo; // in questo modi la variabile e' "pubblica" ovvero visibile da qualunque script nella pagina function funzione1() { intervallo = setInterval(...) // nota l'assenza di var } function funzione2() { clearInterval(intervallo) }
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
si forse se posto tutto il codice è meglio
Il problema è che avvio il setInterval sono ad una data considizione e lo disattivo nell'else di questa condizione, il tutto avviene dentro la stessa funzione, non posso metterla fuori in quanto altrimenti, credo, non avrei la variabile "update[1]" per poter fare l'IFcodice:function handleResponse() { if(http.readyState == 4){ var response = http.responseText; var update = new Array(); if(response.indexOf(']|[' != -1)) { update = response.split(']|['); document.getElementById(update[0]).src = update[1]; if (update[1]=='..../sito/preload.gif') { var intervallo = window.setInterval(function () { sndReq('Url='+update[2],update[0]); },3000); } else { clearInterval(intervallo); } } } }
Hosting, VPS, SSL e Domini: https://www.blooweb.it
Devi usare una variabile globale; per "sporcare" il meno possibile setta intervallo come proprietà della funzione handleResponse e non di window:
codice:function handleResponse() { if(http.readyState == 4){ var response = http.responseText; var update = new Array(); if(response.indexOf(']|[' != -1)) { update = response.split(']|['); document.getElementById(update[0]).src = update[1]; if (update[1]=='..../sito/preload.gif') { handleResponse.intervallo = window.setInterval(function () { sndReq('Url='+update[2],update[0]); },3000); } else { clearInterval(handleResponse.intervallo); } } } }