我正在设计一个在背景中有移动云的网页。我的代码使用 jQuery,看起来像这样。
browserWidth = 0;
browserHeight = 0;
clouds = 4;
cloudSpeed = 50;
$(function() {
browserWidth = $(window).width();
browserHeight = $(window).height();
for(i = 0; i < clouds; i++) {
createCloud(cloudSpeed);
}
});
function moveCloud(cloud) {
offset = cloud.offset();
posX = offset.left;
posX--;
if(posX < -250) {
posX = browserWidth;
}
cloud.offset({
left: posX
});
}
function createCloud(speed) {
posY = Math.floor(Math.random() * (browserHeight / 2.5));
posX = Math.floor(Math.random() * (browserWidth - 255));
cloud = $("<div></div>").addClass("cloud").appendTo("body").offset({
top: posY,
left: posX
});
setInterval(function() {
moveCloud(cloud);
}, speed);
}
基本上它使用createCloud
函数来创建四朵云(带有背景图像的 div),它初始化 div 并使用setInterval
. 在间隔函数moveCloud
中,我调用将 div 向左移动一个像素的函数。请参阅上面的代码。
我的问题是它只移动了一个 div。我读过同时使用多个间隔应该没问题。
代码有什么问题?