javascript - 如何使用 jQuery 每秒减少 HTML 元素的值?

标签 javascript jquery timer

这是我到目前为止所拥有的:

var timer = setInterval(function () {
    $(".auctiondiv .auctiondivleftcontainer .countdown").text(sec--);
}, 1000);

这工作正常,但出现问题是因为我必须设置 sec 的值启动时,我页面上的每个倒计时元素都具有相同的值。因此,与其保存值并减少它,也许最好只获取每个刻度的值并减少它 - 而不是在 Javascript 中的任何地方保存该值。

如何抓取 .countdown 元素(<p> 标签)内的文本并从中减去一个并将其分配回同一个 <p>元素?让我困惑的是,我的页面上有很多 .countdown 元素,我该如何浏览每一个元素?

我还需要确保 .countdown 值一旦达到零,我就可以做一些事情。可以说是有条件的。我想我可以使用 .parent()对此,我们拭目以待。

有什么指导吗?

最佳答案

您可以使用 jQuery each 方法来迭代匹配的元素集:

var timer = setInterval(function () {
    $(".countdown").each(function() {
        var newValue = parseInt($(this).text(), 10) - 1;
        $(this).text(newValue);
        if(newValue == 0) {
           //Do something
        }
    });
}, 1000);

我已将选择器更改为 .countdown 因为您说页面上有很多此类元素,并且我假设它们不会全部与您的原始选择器匹配,但您显然可以根据需要更改它。

这是一个working example上述代码。

关于javascript - 如何使用 jQuery 每秒减少 HTML 元素的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7308748/

相关文章:

javascript - trim 功能未按预期工作

jquery - z-index:20 出现在 z-index:10 下面,即使它的 z 索引更大

javascript - 类标签中所有值的总和

javascript - 在表单上添加提交事件可防止提交参数包含在 HTTP POST 中

javascript - jQuery 多个 animate() 回调

ios - 在后台运行定时器

ios - 如何在几秒钟后停止计时器

JavaFX - 无法取消计时器

javascript - 无法通过命令行授权 GoogleCL

javascript - 如何重定向 url chrome 扩展?