1
動的パラメータをsetInterval関数(質問hereを参照)に渡したいと思い、具体的には@ tvanfossonのコメントを渡したかったのです。 しかし、特定の条件が満たされている場合は、そのタイマーを無効にします。私はグローバル変数としてタイマ変数を定義しようとしましたが、私はまだこのライン上のundefined
としてタイマーを取得:
console.log('else. timer=' + timer);
:動的パラメータでsetInterval関数内のタイマを無効にする
。タイマー=未定義
<script language="javascript" type="text/javascript">
var timer;
var params={};
params.color='light';
$(document).ready(function() {
timer=createInterval(showSmallWidget, params.color, 500);
});
function createInterval(f, dynamicParameter, interval) {
setInterval(function() {
f(dynamicParameter);
}, interval);
}
function showSmallWidget(color) {
if ($('#widget').html() == '') {
//do stuff
}
else {
console.log('else. timer=' + timer);
if (timer) { console.log('CLEAR TIMER'); timer.clearInterval(); timer = null; }
}
}
</script>
私はJSFiddleを作成しようとしましたが、私はそれが正常に動作させることはできません。https://jsfiddle.net/puhw3z2k/