javascript - IE 无法评估第二个 if 条件 (&&)
问题描述
所以我有这个脚本:
function makeActive() {
var element, name, arr;
element = document.getElementById("liveChat");
name = "active";
arr = element.className.split(" ");
if (arr.indexOf(name) == -1) {
element.className += " " + name;
}
}
var currentTime = new Date();
var currentTimeFormatted = currentTime.toLocaleTimeString();
if(currentTimeFormatted >= '08:00:00' && currentTimeFormatted <= '16:30:00'){
makeActive();
}
这在 Chrome 中完美运行,但在 IE 中没有添加该类。
如果我删除
&& currentTimeFormatted <= '16:30:00'
IE 也添加了类。为什么要添加第二个条件,在 IE 中破坏这个脚本?
解决方案
为了使这比使用 && 和 || 更容易一点 混合,或者如果您的值存储在静态文件中的某个位置等。您可以通过将每个部分相乘来创建一种伪时间。
例如。
const cTime = new Date();
const ptime =
cTime.getHours() * 10000 +
cTime.getMinutes() * 100 +
cTime.getSeconds();
if (ptime >= 80000 && ptime <= 163000) {
console.log("Active");
} else {
console.log("InActive");
}
推荐阅读
- php - Wordpress Apache 调整 SSL
- angular - Angular Materials 6.3.0 对话框在更新后没有居中对齐?
- graphql - 将 express-graphql 迁移到 apollo-server v2
- wso2 - WSO2 SP 管理器没有将规则保存在工作者/资源节点中
- azure-service-fabric - FabricElementNotFoundException:未找到应用程序类型和版本
- javascript - 在浏览器地址栏中添加语言路径
- puppet - 将 if 语句添加到 puppet 类清单中
- vba - VBA Microsoft 通信控制 - 无法插入对象
- java - 如何使用模式类(正则表达式)计算java字符串中每个字符的出现次数
- javascript - 如何在jQuery中将属性设置为百分比?