同一页中的多个倒数计时

阿夸尔之家

我需要有关JavaScript代码的帮助,我尝试获取一个可在同一页面上适用于多个倒数计时器的代码。我尝试了下面的代码,但没有成功。

    <div class="expirydiv">Jan 02,2019</div>
    <div class="expirydiv">jun 15,2019</div>

    <script>
// Set the date we're counting down to

          var ps = document.querySelectorAll("div.expirydiv");

          var countDownDate = new Date(ps).getTime();

// Update the count down every 1 second

          var x = setInterval(function() {

// Get today's date and time

          var now = new Date().getTime();

// Find the distance between now and the count down date

          var distance = countDownDate - now;

// Time calculations for days, hours, minutes and seconds

          var days = Math.floor(distance / (1000 * 60 * 60 * 24));

          var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
          var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
        var seconds = Math.floor((distance % (1000 * 60)) / 1000);



// Output the result in an element with classname="expirydiv"

    for(var i=0; i<ps.length; i++){
      ps[i].innerHTML = days + "d " + hours + "h "
      + minutes + "m " + seconds + "s ";

// If the count down is over, write some text

      if (distance < 0) {
        clearInterval(x);
        ps[i].innerHTML = "EXPIRED";
      }
      }
    }, 1000);

    </script>

上面代码的结果如下所示:

    NaNd NaNh NaNm NaNs
    NaNd NaNh NaNm NaNs

这段代码有什么问题,我认为查询选择器无法选择div.expirydiv作为日期。

桑迪派特

您正在使用多个倒数计时,因此您需要遍历它们并设置计时器。

var ps = document.querySelectorAll("div.expirydiv");
ps.forEach(function(timer){
    var countDownDate = new Date(timer.innerText).getTime();

    var x = setInterval(function() {

        var now = new Date().getTime();
        var distance = countDownDate - now;
        var days = Math.floor(distance / (1000 * 60 * 60 * 24));

        var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
        var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
        var seconds = Math.floor((distance % (1000 * 60)) / 1000);    

            timer.innerHTML = days + "d " + hours + "h "
            + minutes + "m " + seconds + "s ";
            if (distance < 0) {
                clearInterval(x);
                timer.innerHTML = "EXPIRED";
              }

    }, 1000);    
});
<div class="expirydiv">Dec 02,2019</div>
<div class="expirydiv">Dec 15,2019</div>

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

同一页中的多个倒数计时

来自分类Dev

一页上的多个倒数计时(js / jQuery)

来自分类Dev

在同一页面中处理多个表单

来自分类Dev

在同一页面中定位多个星级

来自分类Dev

离子-同一页面中的多个视图

来自分类Dev

同一页面中的多个弹出div

来自分类Dev

同一页面中的多个弹出窗口

来自分类Dev

同一页面上多个文本区域的字符数限制倒计时?

来自分类Dev

同一页中的表单结果

来自分类Dev

jQuery:进入下一页时不应重置倒数计时

来自分类Dev

在一页中配置多个{{> uploader}}

来自分类Dev

Django - 一页中的多个模型

来自分类Dev

在同一页面中为多个输入提前输入twitter bootstrap

来自分类Dev

Symfony 2多个表单位于同一页面中

来自分类Dev

通过Django中同一页面上的多个按钮启动AJAX请求

来自分类Dev

在同一页面的joomla中添加多个滑块

来自分类Dev

同一页面中的多个交换不起作用

来自分类Dev

同一页面中的多个ajax表单无法正常工作

来自分类Dev

Symfony 2多个表单位于同一页面中

来自分类Dev

在同一页面中停止多个AJAX请求

来自分类Dev

如何在Codeigniter的同一页面中获取多个查询结果

来自分类Dev

使用 chart.js 在同一页面中显示多个响应式图表

来自分类Dev

JQuery Datatable在同一页面MVC中的多个表

来自分类Dev

从同一页面中的多个时钟选择器获取数据

来自分类Dev

Concrete5 - 避免在同一页面上的多个页面列表中重复

来自分类Dev

同一页面中的多个视频标签相互交换视频

来自分类Dev

CSS 同一页面中的多个表具有不同的 ID

来自分类Dev

具有 AJAX 的同一页面中的多个日期选择器

来自分类Dev

使用jQuery在同一页面中的多个选项卡

Related 相关文章

热门标签

归档