为什么我的Javascript代码无法正常工作?

时间:2015-02-25 03:02:50

标签: javascript html css

我最近开始使用Javascript,就像几个小时前一样,我无法弄清楚为什么它仍然显示它应该不在我的网站上的文本。 Dreamweaver说没有错误,但必须有..

<script type="text/javascript">
     var day = new Date();
     var hr = day.getHours();
     if((hr == 1) || (hr == 2) || (hr == 3) || (hr == 4) || (hr == 5) || (hr == 6) || (hr == 7) || (hr == 8) || (hr == 9)); {
         document.write("Paragraph one stack example");
     }
    if(hr == 10) {
        document.write("P2 stack ex");
    }
    if((hr == 11) || (hr == 12) || (hr == 13)); {
        document.write("P3 stack ex.");
    }

</script>

2 个答案:

答案 0 :(得分:1)

从您的代码中,稍微重新格式化:

if((hr == 1) || ... || (hr == 9)); {
    document.write("Paragraph one stack example");
}

摆脱那个分号,它使整个if位无关紧要。

它的含义是:

if((hr == 1) || ... || (hr == 9))
    ;
{
    document.write("Paragraph one stack example");
}

换句话说,

  • 如果hr是1-9,则不执行任何操作。
  • 无论hr的值,输出&#34;第一段堆栈示例&#34;。

您对if的{​​{1}}语句也存在同样的问题。


更好的解决方案#34; 1到9&#34;顺便说一句,11/12/13声明是:

if

您可以进一步清理代码,因为所有条件都是互斥的:

if((hr >= 1) && (hr <= 9)) {
    document.write("Paragraph one stack example");
}

如果您已经确定<script type="text/javascript"> var day = new Date(); var hr = day.getHours(); if ((hr >= 1) || (hr <= 9)) { document.write("Paragraph one stack example"); } else if (hr == 10) { document.write("P2 stack ex"); } else if ((hr >= 11) && (hr <= 13)) { document.write("P3 stack ex."); } </script> hr10是否等于4还有一点要点。因此,您可以使用else if

答案 1 :(得分:1)

代码有效,但放入

时出错了
  

在if表达式的末尾

如果你删除这一切都会正常工作!

var day = new Date();
var hr = day.getHours();
if((hr == 1) || (hr == 2) || (hr == 3) || (hr == 4) || (hr == 5) || (hr == 6) || (hr == 7) || (hr == 8) || (hr == 9)) {
  document.write("Paragraph one stack example");
}
if(hr == 10) {
  document.write("P2 stack ex");
}
if((hr == 11) || (hr == 12) || (hr == 13)) {
  document.write("P3 stack ex.");
}