1

我目前在一个电子商务网站上工作,我们需要一个送货柜台。这是我目前的工作,周末柜台隐藏在哪里:

function twoD(n){
    return (n < 10 ? "0" : "") + n;
}
$(document).ready(function () {
    setInterval(function () {
        var now = new Date();
        var day = now.getDay();
        var end;

        if(day >= 1 && day <= 5) {
            end = new Date(now.getYear(), now.getMonth(), day, 14, 0, 0, 0);    
        } else {
            $('#wc_countdowntimer').hide();
        }

        var timeleft = end.getTime() - now.getTime();
        var diff = new Date(timeleft);


        $("#wc_countdowntimer").html("<i class='fa fa-clock-o'></i> Next shipment in " + twoD(diff.getHours()) + ":" + twoD(diff.getMinutes()) + ":" + twoD(diff.getSeconds()) + "");

    }, 1000);
});

唯一的问题是,我们希望计数器在星期五下午 14 点之后已经隐藏,然后在星期日下午 14 点之后再次显示。这将使柜台仅在订单发货不到 24 小时时可见。

我已经尝试进行各种更改,但我无法让代码按我想要的方式工作。

希望有人在这里,可以提供帮助。任何帮助将不胜感激。

4

1 回答 1

1

你可以这样做:

 function isVisibleByDate(date) {
   var isVisible = true;
   //  hidden already after 14PM on friday and before sunday after 14PM
   var hour = date.getHours();
   var day = date.getDay();
   if ((day == 5 && hour > 14) || (day == 6 && hour < 14)) isVisible = false;   

   return isVisible;
 }

在线演示 (jsFiddle)

于 2018-07-23T13:08:32.657 回答