Örnek
Bir düğmeye tıklanınca setInterval() çalıştırılsın, tekrar tıklanınca iptal edilsin isteyelim.Bu durumda setInterval() çağrısının sonucunu saklamamız gerekir. Ancak sonucu global bir değişkende değil click() içine verilen function'da tanımlamak isteyelim. Bu durumda Closure kullanmak gerekir.
Şöyle yaparız.
Bir düğmeye tıklanınca setInterval() çalıştırılsın, tekrar tıklanınca iptal edilsin isteyelim.Bu durumda setInterval() çağrısının sonucunu saklamamız gerekir. Ancak sonucu global bir değişkende değil click() içine verilen function'da tanımlamak isteyelim. Bu durumda Closure kullanmak gerekir.
Şöyle yaparız.
$("#run").click((function(){
var run; //Closure tanımlanıyor
return function() {
var $this = $(this);
if($this.text() === "run"){
run = setInterval(()=>{
model.run();
},50);
$this.text("stop");
}
else{
clearInterval(run);
$this.text("run");
}
} //End of return function
}() //Return edilen function çalıştırılır
));//click içine verilen function
Hiç yorum yok:
Yorum Gönder