【问题标题】:How to add another variable to a script如何在脚本中添加另一个变量
【发布时间】:2017-01-05 08:39:33
【问题描述】:

我在尝试使以下脚本正常工作时遇到了麻烦。我正在尝试将另一个变量添加到脚本中,由于我缺乏编程知识,我已经把它搞砸了!但是,当我添加名为 extraDate 的变量时,它似乎不起作用。没有它它也能工作,所以我一定是在某个地方出错了。

谁能指出问题所在?

感谢您的帮助。

输出: 使用带有 id="extraDate"、id="fromDate" 和 id="toDate" 的跨度

脚本: //cdnjs.cloudflare.com/ajax/libs/datejs/1.0/date.min.js

完整代码

var fromDate = Date.today().addDays(1);
        if (fromDate.is().saturday() || fromDate.is().sunday()) { 
          fromDate = fromDate.next().monday();
        }
        var toDate = Date.today().addDays(2);
        if (toDate.is().saturday()) { 
          toDate = toDate.next().monday();
        }
        else if (toDate.is().monday()) { 
          toDate = toDate.next().tuesday();
        }
        else if (toDate.is().sunday()) { 
          toDate = toDate.next().tuesday();
        }
        var extraDate = Date.today().addDays(4);
        if (extraDate.is().saturday() || extraDate.is().sunday()) { 
          extraDate = extraDate.next().monday();
        }
        document.getElementById('fromDate').innerHTML = fromDate.toString('dddd dS MMMM');
        document.getElementById('toDate').innerHTML = toDate.toString('dddd dS MMMM');
        document.getElementById('extraDate').innerHTML = extraDate.toString('dddd dS MMMM');

【问题讨论】:

  • 请发布您的完整代码。
  • “似乎不起作用”是什么意思?它会抛出错误还是 extraDate 是错误的值?
  • 你是用momentjs还是什么的?如果有,请提及,或发布完整代码。
  • it doesn't seem to work - 整个脚本,或者只是 extraDate 部分 - 如果只是后者,您是否有带有 id="extraDate" 的 html 标记?
  • 对不起,只是 extraDate 部分不起作用。没有错误,当我尝试输出时只有一个空格。我将使用任何其他脚本/代码更新我的原始帖子。

标签: javascript datejs


【解决方案1】:

您的 HTML 代码一定有问题,因为在我的示例 sn-p 中,您的确切代码可以正常工作:

var fromDate = Date.today().addDays(1);
if (fromDate.is().saturday() || fromDate.is().sunday()) { 
  fromDate = fromDate.next().monday();
}
var toDate = Date.today().addDays(2);
if (toDate.is().saturday()) { 
  toDate = toDate.next().monday();
}
else if (toDate.is().monday()) { 
  toDate = toDate.next().tuesday();
}
else if (toDate.is().sunday()) { 
  toDate = toDate.next().tuesday();
}
var extraDate = Date.today().addDays(4);
if (extraDate.is().saturday() || extraDate.is().sunday()) { 
  extraDate = extraDate.next().monday();
}
document.getElementById('fromDate').innerHTML = fromDate.toString('dddd dS MMMM');
document.getElementById('toDate').innerHTML = toDate.toString('dddd dS MMMM');
document.getElementById('extraDate').innerHTML = extraDate.toString('dddd dS MMMM');
<script src="https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/datejs/date.js"></script>
<p id="fromDate"></p>
<p id="toDate"></p>
<p id="extraDate"></p>

【讨论】:

  • 我找到了问题所在。出于某种原因,extraDate 仅在 id="fromDate" 和 id="toDate" 也出现在页面上时输出。如果我尝试删除其中一个或两个,则 id="extraDate" 不会输出任何内容。
  • 因为javascript退出脚本,出现错误的时间。
  • 嗯,好的,谢谢 Julian,我会尝试找到解决方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-04
  • 2018-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多