我正在尝试在该程序中产生类似波浪的效果。这是代码。
var l = 74, t = 12; var k = 75, m = 14;
for (var i = 1; i < 10; i += 3) {
for (var j = 0; j < 3; j++) {
var x = i + j;
$(".s" + x).css({
"left": l + "px",
"top": t + "px"
});
l -= 50;
t += 50;
}
k += 50;
m += 50;
l = k;
t = m;
}
var c = 1, d;
function wave() {
m = 1;
for (i = 1; i < 4; i++) {
d = i;
for (j = 1; j <= d; j++) {
$(".s" + c).addClass("active");
$(".s" + c).css({
"animation-delay": c / 5 + "s"
});
alert(c);
if (c != 1) {
c += 2;
}
}
m++;
c = m;
}
}
wave();
它使用jQuery。当我在代码中启用警报时,其动画顺序为1,2,4,3,5,7,但是当我禁用警报时,其顺序为1,2,3,4,5,7
我不明白哪里出了问题。有人可以建议错误是什么,我们如何应对它。
alert
暂停执行代码,直到关闭其窗口。
如果您放置console.log(c, c / 5);
警报而不是警报,则会看到c
值符合预期,但是您的计算animation-delay
不正确。
当alert
暂停执行循环时,动画似乎可以按您的要求工作,但这仅仅是因为下一个项目的动画尚未开始(它们尚未获得active
类)。
当没有任何东西可以使循环暂停时,动画将同时开始(以相同的正确顺序),但是由于不正确的延迟,它们似乎以错误的顺序运行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句