我正在尝试编写一个小.js文件,将css样式从display:block
更改为display:none
,具体取决于一天中的时间,08.30到17.00显示块和17.00到08.30显示无。
这是我到目前为止所拥有的:
<script language="JavaScript">
day=new Date() //..get the date
x=day.getHours() //..get the hour
if(x>=8.30 && x<17) {
document.write('<style type="text/css">#live{display:block}"></style>')
} else
if(x>=17 && x<8.30) {
document.write('<style type="text/css">#live{display:none}"></style>')
};
</script>
认为这是好js加上不确定是否使用8.30会起作用加上不确定是否最后一个“;”需要。
对此有任何帮助都非常感谢。
我现在正在尝试此代码,但无效
<script type="text/javascript">
$(document).ready ( function (){
var dateObj = new Date();
var hour = dateObj.getHours() * 100 + dateObj.getMinutes();
if (hour >= 1600 && hour <= 1800) {
document.getElementById('live').style.display = "none";
}
});
</script>
答案 0 :(得分:1)
Date().getHours()
返回一个整数。要使代码工作,您必须执行以下操作:
var dateObj = new Date();
var hour = dateObj.getHours() * 100 + dateObj.getMinutes();
if (hour >= 830 && hour <= 1700) {
document.getElementById('your_el').style.display = "none";
}
请注意,只有在DOM准备好进行操作时才应使用此代码。
虽然,这真的是你想要的吗? JavaScript的日期从用户的时钟获取日期和时间信息。你可能最好在服务器上处理它。
答案 1 :(得分:0)
getHours()
返回一个整数(0到23)。 8:30,你会的
需要相应地检查getHours()
和getMinutes()
。答案 2 :(得分:0)
getHours()
只能获得小时数,您还需要获得会议记录
试试
x=day.getHours()+ (day.getMinutes()/100);
关于;
if
之后的{{1}}是不是必要的,但最好将它放在每个代码行的末尾(也就是每隔一行)
答案 3 :(得分:0)
如果您使用的是jquery,请查看此链接。我为你写了一个样本。 show/hide sample