JQuery基于日隐藏div

时间:2010-05-07 17:10:01

标签: jquery html

这是再次更新的代码我想要星期五的div,而不是星期五出现。我也希望它不会在下午5点之后出现,但我无法通过日常问题。谢谢你的帮助。

<html>
<head>

<script type="text/javascript"> 

  $(document).ready(function() {
    var rightNow = new Date(); 
    var day = rightNow.getUTCDay(); 
    if (day == 5) { 
      $('#friday').hide(); 
    } 
  });
</script>

<style type="text/css">

div {
border:solid black 1px;
background-color:lightblue;
color:darkblue;
font-size:14pt;
font-family:arial;
width:550px;
height:220px;
overflow:auto;
padding:5px;
}
</style>


</head>
<body>



<div id='friday'>
friday
</div>
<br>
<div id='saturday'>
saturday
</div>
<br>
<div id='sunday'>
sunday
</div>
<br>



</body>
</html>

4 个答案:

答案 0 :(得分:7)

最有可能的是,在元素是DOM的一部分之前,您遇到了脚本执行的问题。所以,像这样包装你的脚本:

<script type="text/javascript"> 

  $(document).ready(function() {
    var rightNow = new Date(); 
    var day = rightNow.getUTCDay(); 
    if (day == 5) { 
      $('#friday').hide(); 
    } 
  });
</script> 

请注意,我还修复了“day = 5;”误状态。

答案 1 :(得分:3)

您是assigning而不是comparing

if (day = 5;) {

应该是:

if (day === 5) {

如果您不熟悉=== ..它与==相同,除非它是严格的(不执行类型强制)。

您可以阅读有关比较运算符here的更多信息。

修改

另请务必阅读John's answer,因为看起来这也会导致您的问题。

答案 2 :(得分:1)

我建议John Fishers回答。

你可以做的唯一一件事就是把它放在一个开关中,假设你想要隐藏每一个项目,而不是只在星期五隐藏,如果它是5

<script type="text/javascript"> 

  $(document).ready(function() {
    var rightNow = new Date(); 
    var day = rightNow.getUTCDay(); 
    switch(day)
    {
      case 0:
        //whatever you want to do on 0
        break;
      case 1:
        //whatever you want to do on 1
        break;
      case 2:
        //whatever you want to do on 2
        break;
      case 3:
        //whatever you want to do on 3
        break;
      case 4:
        //whatever you want to do on 4
        break;
      case 5:
        $('#friday').hide(); 
        break;
      case 6:
        //whatever you want to do on 6
        break;
  });
</script> 

答案 3 :(得分:0)

您刚刚发布的最新代码的唯一问题是您删除了jQuery include(正如John Fisher指出的那样)。放行

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>

回来,它会按你的意愿工作。
要处理5点之后的问题,你可以这样做:

$(document).ready(function() {
    var rightNow = new Date(); 
    var day = rightNow.getUTCDay();
    if (day == 5 || rightNow.getHours() > 17) { 
      $('#friday').hide(); 
    } 
});

Here是javascript日期对象的一个​​很好的参考。