亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

NaN 倒數計時器 javascript

NaN 倒數計時器 javascript

PHP
慕的地6264312 2022-07-22 09:43:05
我為 wordpress 自定義插件創建了一個 javascript 倒計時。我讀過這篇文章,這是我第一次嘗試做類似的事情。在我寫完代碼后,我正在測試它,最初它工作正常?,F在,如果我嘗試在控制臺中記錄小時分鐘天和秒的值,我會收到一條NaN消息。我不知道怎么了,誰能幫幫我?<?php if( get_option('show-countdown') ): ?>                    <div class="countdown">                        <h1 class="days d-inline"></h1>                        <h1 class="hours d-inline"></h1>                        <h1 class="minutes d-inline"></h1>                        <h1 class="seconds d-inline"></h1>                    </div>                    <script>                    (function($){                      $(document).ready(function(){                            var date = '<?php echo get_option('countdown-timer'); ?>';                            console.log(date);                            function remainingTime( date ){                                var countdown = Date.parse(date) - Date.parse(new Date());                                var seconds = Math.floor( (countdown/1000) % 60 );                                var minutes = Math.floor( (countdown/1000/60) % 60 );                                var hours = Math.floor( (countdown/(1000*60*60)) % 24 );                                var days = Math.floor( countdown/(1000*60*60*24) );                                return {                                'total': countdown,                                'd': days,                                'h': hours,                                'm': minutes,                                's': seconds                              };                            }
查看完整描述

1 回答

?
慕碼人2483693

TA貢獻1860條經驗 獲得超9個贊

問題是您將兩個參數傳遞給initClock,但方法簽名只接受一個 ( endTime)。通過刪除似乎是未使用的 CSS 選擇器字符串的第一個參數,問題得到解決:


(function($) {

  $(document).ready(function() {


    var date = '2030-01-01';

    console.log(date);


    function remainingTime(date) {

      var countdown = Date.parse(date) - Date.parse(new Date());

      var seconds = Math.floor((countdown / 1000) % 60);

      var minutes = Math.floor((countdown / 1000 / 60) % 60);

      var hours = Math.floor((countdown / (1000 * 60 * 60)) % 24);

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

      return {

        'total': countdown,

        'd': days,

        'h': hours,

        'm': minutes,

        's': seconds

      };

    }


    console.log(remainingTime(date));


    function initClock(endtime) {

      var timeinterval = setInterval(function() {

        var t = remainingTime(endtime);


        $('.days').html(t.d);

        $('.hours').html(t.h);

        $('.minutes').html(t.m);

        $('.seconds').html(t.s);

      }, 1000);

    }

    

    initClock(date);

  });

}(jQuery));

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


<div class="countdown">

  <h1 class="days d-inline"></h1>

  <h1 class="hours d-inline"></h1>

  <h1 class="minutes d-inline"></h1>

  <h1 class="seconds d-inline"></h1>

</div>


注意:因為這主要是關于 JavaScript,所以我刪除了 PHP 條件并硬編碼了一個日期值來代替get_option調用。


查看完整回答
反對 回復 2022-07-22
  • 1 回答
  • 0 關注
  • 91 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號