【发布时间】:2014-03-08 16:14:56
【问题描述】:
此代码假设向左迭代 300 万次,当它到达 300 万次时返回第一个数组位置,但我不能以某种方式做到这一点。如果没有设置的计时器,有人可以帮我让它工作吗?
主体:
<div id="placeDiv">ok</div>
<script type="text/javascript">
var times = [];
for (var i = 0; i < 3000000; i++) {
times.push(i);
}
var move=times;
if(i == move.length-1) {
i=0;
} else {
i=i+1;
}
document.getElementById("placeDiv").style.left = move[i];
</script>
CSS:
<style type="text/css">
#placeDiv{
position: absolute;
top: 0px;
width: 100px;
height: 100px;
background-color: purple;
}
</style>
【问题讨论】:
-
首先30000不是300万!
-
“如果没有设置的计时器是可能的” – 不使用计时器,你将不会得到任何类型的动画(假设这是你在追求吗?)。当然,在没有 unit 的情况下为
left设置值是错误的(除非该值是0)。 -
但是对于css div的背景颜色,它是不同的, document.getElementById("left").style.left=array[i] 和 document.getElementById("bgcolor ").style.backgroundColor=array[i]?
标签: javascript css arrays html for-loop