我正在尝试使用setInterval代码对对象进行“动画处理”,但是我遇到了3个问题之一;
- 没发生什么事
-编码后的内容似乎都会做出更改,但随后会停止更改(可能只执行一次)
-div编码似乎从屏幕上消失了

有人知道哪里出问题了吗?我键入console.log("Text");,它运行良好。 (此外,我很抱歉,但我不知道如何在此网站上设置格式)

var everyFrame=function()
{
skyRed=skyRed+1;
skyGreen=skyGreen-0.3;
skyBlue=skyBlue-0.7;
orangeFishMoveDown=orangeFishMoveDown+0.025;
orangeFishMoveRight=orangeFishMoveRight+.05;

sky.style.backgroundColor='rgb('+skyRed+','+skyGreen+','+skyBlue+')';
orangeFish.style.top=orangeFishMoveDown+'px';
orangeFish.style.left=orangeFishMoveRight+'px';
};

window.setInterval(everyFrame, 33);

最佳答案

将变量声明为数字而不是字符串

var skyRed = 0;


否则,它将在skyRed=skyRed+1;中串联为一个字符串,而不添加。

看这里:



var skyRed = '0';
var skyRed1 = 0;
console.log('wrong:' + (skyRed + 1), 'correct: ' + (skyRed1 + 1));

关于javascript - window.setInterval不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47127995/

10-09 08:06