根据一天中的时间更改css样式(javascript)

时间:2011-10-06 15:21:34

标签: javascript

我正在尝试编写一个小.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>

4 个答案:

答案 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)

  1. getHours()返回一个整数(0到23)。 8:30,你会的 需要相应地检查getHours()getMinutes()
  2. 最后一个分号不需要在那里。

答案 2 :(得分:0)

getHours()只能获得小时数,您还需要获得会议记录 试试

x=day.getHours()+ (day.getMinutes()/100);

关于; if之后的{{1}}是不是必要的,但最好将它放在每个代码行的末尾(也就是每隔一行)

答案 3 :(得分:0)

如果您使用的是jquery,请查看此链接。我为你写了一个样本。 show/hide sample