作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
现在这段代码工作得很好。当当天是星期六或星期日时,按钮将变为红色。当时间小于上午 9 点且大于下午 5 点时,按钮将变为红色。
换句话说,周一至周五晚上 9 点至 5 点按钮为绿色。
如何在周五 (today.getDay() == 5) 做到这一点,按钮在上午 9 点至下午 4 点为绿色。同时保持上述声明不变。周五营业时间提早一小时关门。
<style>
.onlineStatus {
height: 20px;
width: 20px;
background-color: green;
border-radius: 50%;
display: inline-block;
}
</style>
<span class="onlineStatus" id="onlineStatus"></span> Online
<script>
var div = document.getElementById('onlineStatus');
div.style.backgroundColor = 'green';
var today = new Date();
var hr = today.getHours();
if(hr <= 9 && hr >= 17 || today.getDay() == 6 || today.getDay() == 0) div.style.backgroundColor = 'red';
</script>
最佳答案
我想我会有条件地设置“结束”时间。
var hr = today.getHours();
var day = today.getDay();
var maxHour = day === 5 ? 16:17; // there it is
if( (hr <= 9 || hr >= maxHour) || day == 6 || day == 0) div.style.backgroundColor = 'red';
它看起来比堆叠很多条件更优雅/可读。
您还可以重写关闭日部分(只是一个建议):
var hr = today.getHours();
var day = today.getDay();
var maxHour = day === 5 ? 16:17; // there it is
var closedDays = [0,6];
var isTodayClosed = closedDays.indexOf(day) > -1;
if( (hr <= 9 || hr >= maxHour) || isTodayClosed) div.style.backgroundColor = 'red';
关于javascript - 如何在 if 参数中结合时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59047998/
我是一名优秀的程序员,十分优秀!