一页中的多个倒计时时间



首先,我使用jalali/波斯日期和倒计时jQuery插件对我不起作用。 对于前插件,必须输入公历日期,例如 2017/5/2,但波斯/贾拉利日期是 1396/2/17 。

我有多个日期时间,指定日期,小时,分钟和秒。 例如:

3天 13 小时 4分 25 秒

23天 2小时 41分 3秒 ...

我有天和小时,分钟和秒分开,

我想在一页中倒计时他们的日期(他们的日期数量是白天的(

我使用此代码,当页面中只有一个日期时工作正常

.html:

  <div class="row">
@{TimeSpan span = (item.DiscountExpireDate - DateTime.Now);}
    <ul class="countdown">
        <li>
             <span class="seconds">@span.Seconds</span>
        <p class="seconds_ref">ثانیه</p>
        </li>
         <li class="seperator">:</li>
         <li>
         <span class="minutes">@span.Minutes</span>
           <p class="minutes_ref">دقیقه</p>
           </li>
           <li class="seperator">:</li>
           <li>
          <span class="hours">@span.Hours</span>
            <p class="hours_ref">ساعت</p>
           </li>
           <li class="seperator"> </li>
           <li>
           <span class="days">@span.Days</span>
         <p class="days_ref">روز</p>
         </li>
         </ul>
</div>

和 js

<script type="text/javascript">//for countdown
    $(document)
        .ready(function () {
            var theDaysBox = $(".days");
            var theHoursBox = $(".hours");
            var theMinsBox = $(".minutes");
            var theSecsBox = $(".seconds");
                var refreshId = setInterval(function() {
                        var currentSeconds = theSecsBox.text();
                        var currentMins = theMinsBox.text();
                        var currentHours = theHoursBox.text();
                        var currentDays = theDaysBox.text();
                        if (currentSeconds == 0 && currentMins == 0 && currentHours == 0 && currentDays == 0) {
                            // if everything rusn out our timer is done!!
                            // do some exciting code in here when your countdown timer finishes
                        } else if (currentSeconds == 0 && currentMins == 0 && currentHours == 0) {
                            // if the seconds and minutes and hours run out we subtract 1 day
                            theDaysBox.html(currentDays - 1);
                            theHoursBox.html("23");
                            theMinsBox.html("59");
                            theSecsBox.html("59");
                        } else if (currentSeconds == 0 && currentMins == 0) {
                            // if the seconds and minutes run out we need to subtract 1 hour
                            theHoursBox.html(currentHours - 1);
                            theMinsBox.html("59");
                            theSecsBox.html("59");
                        } else if (currentSeconds == 0) {
                            // if the seconds run out we need to subtract 1 minute
                            theMinsBox.html(currentMins - 1);
                            theSecsBox.html("59");
                        } else {
                            theSecsBox.html(currentSeconds - 1);
                        }
                    },
                    1000);
       });
</script>

但是当我在页面上有多个日期时效果不佳,并且似乎数字相加。

https://jsfiddle.net/a7ucv468/1/

有人可以帮助我吗?

你只需要为每个包装器元素标识一个包装元素,例如:

$('.countdown").each( function {

然后在元素选择器前面使用 $(this(.find((。这会将函数绑定到倒计时的每个实例。目前它只是在寻找类"天",所以它只会使用它找到的第一个,或者导致其他错误。我很快就会写一个工作示例。

我不确定这些数字,但它们似乎在这里独立运行(将超时设置为更少以进行调试(https://jsfiddle.net/7nzcdhn3/

相关内容

  • 没有找到相关文章

最新更新