【发布时间】:2018-03-13 03:25:48
【问题描述】:
我有以下 jQuery 代码。 this.Next() 函数在调用时抛出“不是函数”错误。 this.Next() 函数在与 this.countdown() 相同的函数中调用。如何在 setInterval() 嵌套函数中调用 this.Next()?
this.countdown = function(element) {
interval = setInterval(function() {
var el = document.getElementById(element);
if(seconds == 0) {
if(minutes == 0) {
alert(el.innerHTML = "Your time for this section has expired");
clearInterval(interval);
// Send user to the next section
return this.Next();
} else {
minutes--;
seconds = 60;
}
}
if(minutes > 0) {
var minute_text = minutes + ' min';
} else {
var minute_text = '';
}
var second_text = 'sec';
el.innerHTML = 'Your time: ' + minute_text + ' ' + seconds + ' ' + second_text;
seconds--;
}, 1000);
};
【问题讨论】:
-
因为范围不正确。
setInterval中的this是 setInterval 本身,而不是对象。堆栈上有很多这样的问题,试着在那里找到答案。
标签: jquery function nested this