Javascript 周末隐藏元素
我有一些HTML/javascript元素,我只想在周一到周五可见 我怎样才能做到这一点?我只知道如何用这个代码在特定日期隐藏它Javascript 周末隐藏元素,javascript,Javascript,我有一些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();
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();
var d = new Date();
if(d.getDay() == 6 || d.getDay() == 7)
{
$('#div1').hide();
}
您可以使用获取一周中的某一天。然后将其隐藏到第6天和第0天。首先,使用获取一周中的某一天
var DayOfTheWeek = new Date().getDay(); //0=Sun, 1=Mon, ..., 6=Sat
然后,根据日期显示元素
if(DayOfTheWeek == 6 || DayOfTheWeek == 0){
$('#div1').hide();
} else {
$('#div1').show();
}
函数Date.getDay将是您的好友。它返回一周中每天的数字。星期日=>0;星期一=>1
var d = new Date();
var n = d.getDay();
因此,您可以轻松检查一天是否在1到5之间。如果是,则显示您的资料:使用函数
if(current.getDay() == 6 || current.getDay() == 0){
$('#div1').hide();
}
试试这个代码
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();
var d = new Date();
if(d.getDay() == 6 || d.getDay() == 7)
{
$('#div1').hide();
}
对于LOL,这里有一行代码演示如何通过变量名调用jQuery函数,并使用模运算避免对.getDay的两次单独调用: 因此,周一至周五给出0。。4,周六和周日给出5和6,允许一次比较来检查周末和工作日 对于子孙后代,这里有一个潜在的有用帮助函数:
Object.defineProperty(Date.prototype, 'isWeekday', { value: function() {
return (this.getDay() + 6) % 7 <= 4;
}));
这是一个更易于维护的版本。默认情况下,应显示元素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命令的条件表达式。请参阅:只需注意-任何具有最少JS知识的人都可以绕过此元素隐藏。。。此外,未启用JS的用户也不会从您的逻辑中受益。@Lix true在旁路中,但是,鉴于现在有多少网站完全依赖JS,现在没有JS的浏览器几乎不能被认为是功能性的。@Alnitak-不是没有JS的浏览器,而是一个出于安全原因禁用JS的用户,我想这会成为用户的问题,因为正如你所说,没有JS的浏览器功能性很差。这里我的主要观点是,隐藏元素根本不能保证用户看不到内容。getDay返回0。。6,并且从不返回字符串!然而,他只是松散地比较两个字符串==,而不是==,所以它会起作用…@something这里是的,我会给他另一个-1,如果我可以的话-故意对一个只返回数字的函数使用一个字符串的松散比较,这是非常松散的。@alnitak Jup,真的。TBH尽管如此,此页上的每个答案都应该被否决,因为none use==,因为即使是松散地比较新日期。getDay==6也一样糟糕。@有些东西我的答案没有使用相等运算符,松散或其他;-是的,我同意你的观点:使用松散的比较。如果没有它们,JS将是一种更好的语言。
var days_to_hide = {
0 : "Sunday",
6 : "Saturday"
}
var today = new Date().getDay();
if( typeof days_to_hide[ today ] !== "undefined" ){
$('#div1').hide();
}