私はjsに少し慣れていないので、ボタンをクリックしたときにこの関数の実行を停止する方法を見つけようとしています. clearInterval を使用してみましたが、適切に行っているかどうかわかりません。誰かがこのコードを見て、正しい方向に向けることができますか?
コード:
<div><h1 id="target"></h1></div>
<button id="stop">Stop</button>
脚本:
var arr = [ "one", "two", "three"];
(function timer(counter) {
var text = arr[counter];
$('#target').fadeOut(500, function(){
$("#target").empty().append(text).fadeIn(500);
});
delete arr[counter];
arr.push(text);
setTimeout(function() {
timer(counter + 1);
}, 3000);
$("#stop").click(function () {
clearInterval(timer);
});
})(0);
setInterval(timer);
JS フィドル: http://jsfiddle.net/58Jv5/13/
よろしくお願いします。