用于标识一周中多天的Java脚本

问题描述 投票:-1回答:3

我不是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
3个回答
1
投票

首先,您必须了解所使用的Date实例方法如何工作。您可以在getDay和此处getHours尝试。

所以,您的代码进入了类似的位置:

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(||)运算符。


0
投票

感谢您的帮助。根据您的帮助,我已经对其进行了修改,并且还添加了一个特定的分钟。这是执行此操作的正确方法,还是不应该使用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();
}

-1
投票

我建议您像这样重构

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

  return false // will be hidden
}
© www.soinside.com 2019 - 2024. All rights reserved.