我正在尝试用画布制作一些东西,在那里我可以传入一个数字,它等于某个程度0-360,并且一条线将从其当前位置到我设置的程度进行动画制作。
现在我的线条达到了我想要的程度(我还没有完成功能部分,但是我在学位中传递...现在只是在for循环中执行它)所以我的主要问题是如何我能让动画线变慢吗?如果我只是让for循环运行它就会直接到达终点。我怎样才能减慢速度以使其动画?
代码在这里:http://jsfiddle.net/WPTjv/2/
谢谢!
编辑:我不是特别喜欢这些代码,所以如果你有更好的方法,我也很乐意接受建议。
答案 0 :(得分:4)
你需要使用像setInterval这样的东西每N毫秒调用一段代码。语法是:
setInterval(code, milliseconds);
它会返回您需要保存的数字,以便您可以停止代码。所以我们可以写:
var interval = setInterval(function() {
clock();
x++;
if (x > 90) clearInterval(interval);
}, 30);
这会创建一个每30毫秒发生一次的函数。
每30毫秒调用clock()
,x
会增加,如果x
超过90,我们会调用clearInterval
并传入我们调用的号码setInterval
返回了。这可以确保代码打开总共发生了90次。
这是一个实例:
答案 1 :(得分:0)