【发布时间】:2020-11-20 20:18:23
【问题描述】:
我正在尝试设置一个运行循环,它将每秒执行 60 次——在我的示例中,我想在每次循环运行时简单地将添加一个 px 移动到 div 的左侧位置,但我认为我做错了什么。
在每次循环运行时操作此块的任何帮助都将不胜感激。
function runLoop() {
var counter = counter + 1;
var redBlock = document.getElementById("block");
redBlock.style.left = counter + "px";
}
setInterval(function () {
runLoop();
}, 60)
#block {
background-color: red;
width: 100px;
height: 100px;
position: absolute;
display: block;
}
<div id="block"></block>
【问题讨论】:
-
是什么让你认为你做错了什么?
-
setInterval的第二个参数指定调用第一个参数指定的函数之间的间隔(毫秒)。因此,如果您希望每秒调用 60 次(=1000 毫秒),则间隔应为 1000 / 60。 -
您在每个循环中创建一个新变量,并向其添加 1,而不是在方法“外部”为每个方法调用增加值。
标签: javascript runloop