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/