簡體   English   中英

在javascript倒數計時器中使用woocommerce get_date_on_sale_to()

[英]use woocommerce get_date_on_sale_to() in javascript countdown timer

我在javascript倒數計時器中使用woocommerce get_date_on_sale_to()有問題。 我的代碼是:

<script>
var countDownDate = new Date(<?php echo $product->get_date_on_sale_to(); ?>).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);
    document.getElementById("demo").innerHTML = days + "d " + hours + "h "
    + minutes + "m " + seconds + "s ";
    if (distance < 0) {
        clearInterval(x);
        document.getElementById("demo").innerHTML = "EXPIRED";
    }
}, 1000);
</script>

我認為這行是無效的:

var countDownDate = new Date(<?php echo $product->get_date_on_sale_to(); ?>).getTime();

此代碼的輸出<?php echo $product->get_date_on_sale_to(); ?> <?php echo $product->get_date_on_sale_to(); ?>"2018-01-25T00:00:00-01:00"但我的下場計時器顯示: NaN d NaN h NaN m NaN s如何解決它?

您首先需要從字符串中提取Date ,例如:

//You'll get date in milliseconds since 1970/01/01, so don't need to use getTime()
var countDownDate = Date.parse(<?php echo $product->get_date_on_sale_to(); ?>);

有關Date.parse更多信息可以在這里找到。

另外,這里var distance = countDownDate - now; 您得到負數,請嘗試:

var distance = now - countDownDate;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM