【发布时间】:2012-07-12 15:08:48
【问题描述】:
我正在使用 HTML、CSS 和 Javascript 构建动画场景。目前,我对每条要制作动画的鱼都有 2 个函数。第一个将它发送到屏幕上,第二个在它离开屏幕后重置其位置。
这两个函数的样子...
function fish1Swim1() {
var ranNum = Math.round(Math.random() * 2.5);
var speed = 6000 * ranNum;
var screenW = screenWidth+350;
$('#fish1').animate({
left: -screenW,
}, speed, function () {
fish1Swim2();
});
}
function fish1Swim2() {
var ranNum = Math.round(Math.random() * 7);
var top = ranNum * 100;
var screenW = screenWidth+350;
$('#fish1').css("left", screenW);
$('#fish1').css("top", top);
fish1Swim1();
}
我对场景中的所有其他鱼也使用了非常相似的函数,但我想在脚本的开头创建 2 个数组,一个用于 ID,一个用于速度,就像这样...
var fish=["#fish1","#fish2","#oldBoot"];
var speeds=["6000","7000","5000"];
然后让我早期编写的函数运行,但用数组中的项目替换鱼和速度。
我该怎么做?
【问题讨论】:
-
我想到了两个 cmets:a) 您确定每个动画项目都需要单独的函数吗? b) 所有动画项目应该同时移动,还是它们之间有一些延迟?
-
非常好的点@Utkanos a) 仅使用 1 个函数完成我想要完成的工作会更好 b) 现在我正在模拟延迟,让鱼开始远离屏幕,然后使用 CSS但是如果我继续我现在想做的事情而不添加第三个数组来延迟它就行不通了。
标签: javascript jquery html css arrays