【问题标题】:Javascript script for identifying multiple days of the week用于识别一周中的多天的 Javascript 脚本
【发布时间】:2020-03-21 19:51:12
【问题描述】:

我不是 javascript 编码员,但我需要修改此代码,以便我可以在一周内多次显示状态栏。我如何在此声明中添加内容以涵盖一周中的另一天或周日的其他时间?我需要让酒吧出现在周日下午 5 点到晚上 7 点和周四晚上 7 点到 9 点之间。只是想知道如何修改它以使其工作。有人可以帮忙吗?

var d = new Date();
var Day = d.getDay();
var Time = d.getHours();
    if (d.getDay() == 0 && d.getHours() >= 9 && d.getHours() <= 12) {
      jQuery(".streaming").show();
    } else {
      jQuery(".streaming").hide();
    }

【问题讨论】:

    标签: javascript days


    【解决方案1】:

    首先,您必须了解您使用的 Date 的实例方法是如何工作的。你可以在这里getDaygetHours 尝试。

    所以,你的代码类似于:

    var date = new Date();
    var day = date.getDay();
    var hour = date.getHours();
    
    if ((day == 0 && hour >= 17 && hour <= 19) ||
        (day == 5 && hour >= 19 && hour <= 21)) {
        jQuery(".streaming").show();
    } else {
        jQuery(".streaming").hide();
    }
    

    您也应该看看 JavaScript 中的 OR (||) 运算符。

    【讨论】:

      【解决方案2】:

      感谢您的帮助。根据您的帮助,我对其进行了修改,并添加了特定的一分钟。这是执行此操作的正确方法还是我不应该使用 get.Minutes?

      var date = new Date();
      var day = date.getDay();
      var hour = date.getHours();
      var minute = date.getMinutes();
      
      if ((day == 0 && hour >= 08  && minute >= 50 && hour <= 12) ||
          (day == 0 && hour >= 16  && minute >= 50 && hour <= 19) ||
          (day == 5 && hour >= 18  && minute >= 50 && hour <= 21)) {
          jQuery(".streaming").show();
      } else {
          jQuery(".streaming").hide();
      }
      

      【讨论】:

        【解决方案3】:

        我建议你像这样重构

        if (showForDay(d)) {
          jQuery(".streaming").show();
        } else {
          jQuery(".streaming").hide();
        }
        
        function showForDay(d){
          // put all your conditions here
          if (d.getDay() == 0 && d.getHours() >= 9 && d.getHours() <= 12) return true
          if (d.getDay() == 0 && d.getHours() >= 12 && d.getHours() <= 14) return true
          ...
          return false // will be hidden
        }
        

        【讨论】:

        • 这不是对 OP 问题的回答。
        • 抱歉,这是对 OP 问题的回答。它提供了一种简单的方法,可以根据需要编写尽可能多的条件,并且最重要的是它可以使代码更清晰。为了更清楚,我添加了另一个条件......
        猜你喜欢
        • 2015-11-24
        • 1970-01-01
        • 2014-05-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多