我有两个 setTimeout 函数:一个在 y 轴上随机弹出一个 div,一个垂直移动它。这些需要完全同步,而 setTimeout 只是不会削减它:一旦 y 位置大于窗口高度,div 必须重置其 x 位置,然后重置为 0 以重新开始。类似的东西。我正在考虑以某种方式集成 getMilliseconds,但任何替代方案都可以。
这是当前的 Javascript:
var width = window.outerWidth;
var height = window.outerHeight;
var h2 = height * 5;
//left
function LR() {
setTimeout(function() {
var left = [];
var one = 1;
do {
one++;
left.push(one);
}
while (one <= width);
var random = Math.floor(Math.random() * left.length);
document.getElementById("test").style.left = random + "px";
LR();
}, h2);
}
LR();
//top
function TB() {
setTimeout(function() {
var one = document.getElementById("test").offsetTop;
one++;
document.getElementById("test").style.top = one + "px";
if (one == height) {
one == 0;
document.getElementById("test").style.top = 0;
}
TB();
}, 2);
}
TB();
如果您想查看我的完整代码和/或预览,我已经设置了一个 JSFiddle:http: //jsfiddle.net/JqVb9/。提前致谢。