J'ai le code jQuery suivant. La fonction this.Next() lance une erreur "n'est pas une fonction" lorsqu'elle est appelée. La fonction this.Next() est appelée dans la même fonction que this.countdown(). Comment est-ce que j'appellerais this.Next() dans la fonction imbriquée setInterval()?Comment appeler une fonction depuis une fonction imbriquée dans jQuery?
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);
};
c'est à cause de la portée est incorrecte. Vous êtes 'this' dans le' setInterval' est le setInterval lui-même et non l'objet. Il y a beaucoup de ces questions sur la pile, essayez de trouver la réponse là-bas. –
Copie possible de [Javascript setInterval et \ 'this \' solution] (https://stackoverflow.com/questions/2749244/javascript-setinterval-and-this-solution) –