jquery - 如何使用 jQuery 创建倒数计时器?

标签 jquery html css timer countdown

我的网站上会有不止一个这样的小盒子,每个盒子都会在不同的时间开始倒计时。

如何减少每秒计时器的数值,模拟倒数计时器?

enter image description here

<p class="countdown">15</p>

使用此 javascript 可以正确倒计时,但每个拍卖箱都会受到影响。你会如何建议我隔离计时器以仅对一个元素起作用?

<script>
var sec = 15
var timer = setInterval(function() {
   $('.auctiondiv .countdown').text(sec--);
   if (sec == -1) {
      $('.auctiondiv .countdown').fadeOut('slow');
      clearInterval(timer);
   }
}, 1000);
</script>

enter image description here

最佳答案

尝试以下将正确发出所选值的倒计时。

$(document).ready(function() {

  // Function to update counters on all elements with class counter
  var doUpdate = function() {
    $('.countdown').each(function() {
      var count = parseInt($(this).html());
      if (count !== 0) {
        $(this).html(count - 1);
      }
    });
  };

  // Schedule the update to happen once every second
  setInterval(doUpdate, 1000);
});

JSFiddle 示例

注意:这将在每个具有 countdown 类的元素上运行倒计时序列。如果你想让它对单个元素有更多限制,你需要将选择器从 .countdown 更改为更具限制性的内容。最简单的方法是添加一个 id 并直接引用该元素。

<p id='theTarget'>15</p>

这里的 JavaScript 有点复杂,因为您希望计时器最终关闭,因为添加具有重复 id 的元素的可能性不大,也不太可能被使用

$(document).ready(function() {

  var timer = setInterval(function() {

    var count = parseInt($('#theTarget').html());
    if (count !== 0) {
      $('#theTarget').html(count - 1);
    } else {
      clearInterval(timer);
    }
  }, 1000);
});

JSFiddle 示例

关于jquery - 如何使用 jQuery 创建倒数计时器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7235816/

相关文章:

javascript - 如何提醒ajax响应

javascript - 使用下拉菜单时,JQuery TimePicker OnChange 不会触发

jquery - 用多个div更改单个文本区域并更改div图像

javascript - 当 multipule 运行时,将加载图标附加到 Table TD 以进行 ajax 调用会混淆

javascript - 从谷歌地图中删除标题标签属性

javascript - 如何在不提交的情况下获取将提交的所有表单值

jquery - 在 fancybox 上将自动播放设置为 false/true

javascript - HTML:密码字段问题中的 HTML5 占位符属性 - 显示正常文本?

html - 垂直对齐标题 div 中的元素(文本和 Logo )

php - .htaccess——css 被停用