O uso do timer setTimeout em JavaScript é geralmente o seguinte. Depois de chamar o BeginRotate, ele entra em um processo de execução regular do Rotateloop, conforme mostrado no código a seguir:
Copie o código do código da seguinte forma:
var ângulo = 0;
função rotacionarloop() {
se (ângulo <360) {
ângulo++;
//usa ângulo
//......
setTimeout("rotateloop()", 100);
}
}
função começarrotate() {
//fazer algo
//......
setTimeout("rotateloop()", 100);
}
Um problema com este código é que ele gera uma variável global ângulo, o que obviamente não é uma boa prática de programação, então pensamos em usar funções inline e alteramos o código para o seguinte:
Copie o código do código da seguinte forma:
função começarrotate() {
var ângulo = 0;
função rotacionarloop() {
se (ângulo <360) {
ângulo++;
//usa ângulo
//......
setTimeout("rotateloop()", 100);
}
}
//fazer algo
//......
setTimeout("rotateloop()", 100);
}
Depois de fazer essa alteração, descobri que o JavaScript relatou um erro e o rotaloop não foi encontrado. Obviamente, setTimeout não encontrou a função incorporada local do rotaloop. Este problema pode ser resolvido com uma pequena alteração.
Copie o código do código da seguinte forma:
função começarrotate() {
var ângulo = 0;
função rotacionarloop() {
se (ângulo <360) {
ângulo++;
//usa ângulo
//......
setTimeout(rotateloop, 100);
}
}
//fazer algo
//......
setTimeout(rotateloop, 100);
}
Basta alterar o primeiro parâmetro de setTimeout para um objeto de função em vez de uma string.