简单的JavaScript循环+ jQuery

Simple JavaScript loop + jQuery

本文关键字:jQuery 循环 JavaScript 简单      更新时间:2023-09-26

有人能告诉我为什么这不起作用吗?它工作与alert(),但不是当我试图使用。css。我肯定需要使用javascript循环

$(".select-buttons a").on("click", function() {
    var counter = 0;
    var i = setInterval(function() {
        $(".name").css("background", "red");
        counter++;
        if (counter === 3) {
            clearInterval(i);
        }
    }, 1000);
});

所以这段代码可以正常运行。每隔1秒(1000毫秒),背景颜色将被设置为红色。问题是,没有代码将其设置为另一种颜色!这意味着元素将以之前设置的任何背景颜色开始,一旦按钮被单击,它将等待一秒钟,变为红色,等待一秒钟,变为红色,等待一秒钟,变为红色,然后停止(仍然是红色,因为它一直是)。

看起来你期望clearInterval()调用重置背景颜色,但实际上它所做的是阻止间隔一次又一次地将颜色设置为红色。

假设你想让元素闪红色,你需要有一些东西把颜色设置回最初的颜色。你可以尝试这样做,或者想出一个更好的解决方案!