我有一些HTML / javascript元素,我想只在周一 - 周五显示
我怎样才能做到这一点?我只知道如何使用此代码在特定日期隐藏它
window.setInterval(function(){
var current = new Date();
var expiry = new Date("October 30, 2014 12:00:00")
if(current.getTime()>expiry.getTime()){
$('#div1').hide();
}
}, 3000);
$('#one').show();
答案 0 :(得分:0)
您可以使用Date.getDay()获取星期几。在第6天和第0天隐藏它。
答案 1 :(得分:0)
首先,使用JS Date object获取星期几
var DayOfTheWeek = new Date().getDay(); //0=Sun, 1=Mon, ..., 6=Sat
然后,根据当天,显示元素
if(DayOfTheWeek == 6 || DayOfTheWeek == 0){
$('#div1').hide();
} else {
$('#div1').show();
}
答案 2 :(得分:0)
函数Date.getDay()
将成为你的朋友。它返回一周中每天的数字。星期日=> 0;星期一=> 1; ...
var d = new Date();
var n = d.getDay();
因此,您可以轻松检查当天是否在1到5之间。如果是,则显示您的内容:)
答案 3 :(得分:0)
使用getDay功能。
if(current.getDay() == 6 || current.getDay() == 0){
$('#div1').hide();
}
答案 4 :(得分:0)
对于LOL来说,这里是一个单线程,演示如何通过(变量)名称调用jQuery函数,并使用模运算来避免对.getDay()
的两次单独调用:
$('#div1')[(date.getDay() + 6) % 7 < 5 ? 'show' : 'hide']();
模运算因此起作用:
Sun = 0, + 6 = 6, mod 7 = 6
Mon = 1, + 6 = 7, mod 7 = 0
...
Fri = 5, + 6 = 11, mod 7 = 4
Sat = 6, + 6 = 12, mod 7 = 5
因此周一至周五给出0 .. 4,周六和周日给出5和6,允许进行单一比较以检查周末与工作日。
对于后人来说,这是一个潜在有用的辅助功能:
Object.defineProperty(Date.prototype, 'isWeekday', { value: function() {
return (this.getDay() + 6) % 7 <= 4;
}));
用法:
if (mydate.isWeekday()) {
...
}
答案 5 :(得分:0)
这是一个稍微易于维护的版本。默认情况下应显示元素#div1
,并且只有在检测到适当的天数时才隐藏。
var days_to_hide = {
0 : "Sunday",
6 : "Saturday"
}
var today = new Date().getDay();
if( typeof days_to_hide[ today ] !== "undefined" ){
$('#div1').hide();
}
更易于维护的原因是您可以自由编辑days_to_hide
定义,而无需修改实际执行hide()
命令的条件表达式。
答案 6 :(得分:-2)
试试这段代码
var d = new Date();
if(d.getDay() == 6 || d.getDay() == 7)
{
$('#div1').hide();
}