【问题标题】:Syntax Error: expected expression, got '<='语法错误:预期的表达式,得到 '<='
【发布时间】:2015-10-12 02:27:36
【问题描述】:

尝试根据嵌套 if/then 语句中的两个变量更改背景图像。我收到第 17 行的语法错误(语法错误:预期表达式,得到 '

我阅读了一些类似主题的帖子,但它们似乎无关紧要,或者我只是不明白在说什么……这只是普通的 JS,没有任何 .js 被引用。应该有吗?没有 jquery 等。

在我的幻想中,时间将传递到此页面并导致在背景中随机显示适合时间的图像(来自一组三个)(例如,夜间访问者会看到三个夜间图像中的一个) .我将其包括在内,以防有人拥有比我在下面拼凑的系统更好的系统。

randomLocale = Math.floor((Math.random() * 10) + 1);
if (randomLocale <= 3 ) {
    if (time >= 730 && <= 1830) {
        document.body.style.backgroundImage = "url(../images/cloister_daytime_01.png)";
    } else if (time >= 2100 && <=530) {
        document.body.style.backgroundImage = "url(../images/cloister_night_01.png)";
    } else {
        document.body.style.backgroundImage = "url(../images/cloister_dusk_01.png)";
    }
} else if (randomLocale >= 7) {
    if (time >= 730 && <= 1830) {
        document.body.style.backgroundImage = "url(../images/cloister_daytime_02.png)";
    } else if (time >= 2100 && <=530) {
        document.body.style.backgroundImage = "url(../images/cloister_night_02.png)";
    } else {
        document.body.style.backgroundImage = "url(../images/cloister_dusk_02.png)";
    }
} else {
    if (time >= 730 && <= 1830) {
        document.body.style.backgroundImage = "url(../images/cloister_daytime_03.png)";
    } else if (time >= 2100 && <=530) {
        document.body.style.backgroundImage = "url(../images/cloister_night_03.png)";
    } else {
        document.body.style.backgroundImage = "url(../images/cloister_dusk_03.png)";
    }
}

【问题讨论】:

  • 也许问题在于它需要一个表达式,但得到了 '
  • 即使你修复了语法错误,你的代码也不会工作,因为当然时间不可能同时在 2100 之后和 0530 之前。您可能需要将其更改为 time &gt;= 2100 || time &lt;=530 之类的东西,如果这就是您的意思的话。
  • 嗯,是的,就是这么说的,不是吗。我认为“2200”是在“2100”之后和“0530”之前的时间,如果您不关心日期,只关心滚动的 24 小时时钟?
  • 啊,我明白你的意思了,因为我已经完成了页面的其余部分。感谢您指出这一点!

标签: javascript if-statement syntax background-image


【解决方案1】:

这个

else if (time >= 2100 && <=530) {

在与号和小于号之间缺少一个变量。

如果要检查变量是否介于两个值之间,则需要执行以下操作:

if (x >= 1 && x <= 15)

【讨论】:

  • 谢谢!我解决了这个问题,没有显示错误,但代码仍然不起作用。根本不显示背景图像。图像的名称正确且位于正确的文件夹中,因此我不知道为什么根据时间变量加载页面时它们不会随机更改。
  • 使用警报来跟踪代码执行。例如:alert('7-13');
  • 感谢您解决了我的问题!
【解决方案2】:

这一行:if (time &gt;= 730 &amp;&amp; &lt;= 1830) {

应该是if (time &gt;= 730 &amp;&amp; time &lt;= 1830) {

【讨论】:

  • 谢谢!我解决了这个问题,没有显示错误,但代码仍然不起作用。根本不显示背景图像。图像的名称正确且位于正确的文件夹中,因此我不知道为什么根据时间变量加载页面时它们不会随机更改。
猜你喜欢
  • 2021-08-30
  • 2019-02-20
  • 1970-01-01
  • 2019-01-11
  • 1970-01-01
  • 2021-11-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多