JavaScript代码中的错误

Shrikanth芽

我正在尝试在该程序中产生类似波浪的效果。这是代码。

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

我不明白哪里出了问题。有人可以建议错误是什么,我们如何应对它。

完整代码https://codepen.io/megatroncoder/pen/oxrPRg

ahwayakchih

alert 暂停执行代码,直到关闭其窗口。

如果您放置console.log(c, c / 5);警报而不是警报,则会看到c值符合预期,但是您的计算animation-delay不正确。

alert暂停执行循环时,动画似乎可以按您的要求工作,但这仅仅是因为下一个项目的动画尚未开始(它们尚未获得active类)。

当没有任何东西可以使循环暂停时,动画将同时开始(以相同的正确顺序),但是由于不正确的延迟,它们似乎以错误的顺序运行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章