Clearsetinterval Çalışmama Sorunsalı
-
https://jsfiddle.net/63yusufsari63/58bt37w8/
fonksiyon içinde kullandığım setinterval ı başka bir fonksiyon içinde kapatmak istediğim de tekrar başa alıyor. Yani setinterval ı kapatıyor ama tekrar baştan başlıyor sabahtandır js ile uğraşmaktan kafam sulandı.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script> function denemefnc() { var myvar = setInterval(function(){dene2("7");}, 1000); } function dene2(kackere) { var a = "1"; while (parseInt(a)<kackere) { alert("Açılış "+a.toString()); a = parseInt(a)+1; if(a=="3") { clearInterval(myvar); } } } </script> </head> <body> <button onclick="denemefnc();">Button</button> </body> </html> -
Önce bir mozilla mdn'yi okuyalım. Uğraştığımız dil'in kuralları nedir, nasıl çalışır öğrenelim.
Senin kodun iki tane kavramı bilmediğin için çalışmıyor, Scope ve Closure.
Çözümü yazmıyorum, bulursun.
-
<html> <head> <script> function baslat() { var i = 0; //bu anonim fonksiyon içinde olmamalı yoksa her seferinde sıfırlanır window.timer = setInterval( // timer'ın handlerını kaybetmemeliyiz. global olmalı ki diğer fonksiyonlarda da kullanabilelim. function() { ist(i++); }, 1000 ); } function ist(a) { if(a == 5) // eğer a == 5 ise { clearInterval(window.timer); //timerı durdur return; // fonksiyondan çık } document.getElementById('cikti').innerHTML = a + ". deneme"; //a == 5 değilse a'nın değerini yaz } </script> </head> <body> <button onclick="baslat();">Başlat</button> <button onclick="clearInterval(timer);">Durdur</button> <div id="cikti"> </div> </body> </html> -
@YeniHarman teşekkür ederim hocam ,
Ayrıca @kvasir hocam size de teşekkür ediyorum mozilla mdn yi araştırıyorum hemen
