锚点在 if 语句中不起作用
Anchors Not Working In If Statements
我在尝试解决此问题时遇到了很多麻烦。我有代码,如果满足锚点中的条件时更改 CSS 的语句,则应激活该代码。下面是代码的一个示例:
window.setInterval(function() {
var anchor = window.location.hash.slice(1);
if (anchor = "Yellow") {
$("body").css("background-color", "yellow");
}
if (anchor = "White") {
$("body").css("background-color", "white");
}
}, 0);
<html>
<body>
<a href="#Yellow">Yellow</a>
<a href="#White">White</a>
</body>
</html>
请帮忙。谢谢。
变量比较
使用 ===
检查 if
语句中的相等性:
window.setInterval(function() {
var anchor = window.location.hash.slice(1);
if (anchor === "Yellow") {
$("body").css("background-color", "yellow");
}
if (anchor === "White") {
$("body").css("background-color", "white");
}
}, 0);
执行此操作时:
if(anchor = "string")....
您正在重新分配anchor
变量,而不是检查其值。
事件监听
正如 A. Wolff 在他的评论中指出的那样,你应该使用它而不是0ms
timeout
:
window.onhashchange = function(){ // This function gets called everytime the has changes
var anchor = window.location.hash.slice(1);
if (anchor === "Yellow") {
$("body").css("background-color", "yellow");
}
if (anchor === "White") {
$("body").css("background-color", "white");
}
};
在这里查找不受支持的浏览器的回退:MDN
您可以使用 == 或 === 比较符号来检查 if 语句
相关文章:
- Javascript:If-then语句在函数中不起作用
- 循环通过数组的If语句不起作用
- Javascript变量到PHP变量-如果语句不起作用,则发布
- 清除函数中if语句内部不起作用的间隔
- 为什么简单的Promise语句在浏览器中不起作用
- 如果语句不起作用,请单击
- 三元语句不起作用
- Javascript if和else语句不起作用
- PHP代码中实现的JavaScript |if语句不起作用
- if 语句在 JavaScript 上不起作用
- 如果语句不起作用 - JavaScript
- .has() 函数在 if 语句 (jQuery) 中不起作用
- 如果 onclick 和 onselect 中的语句在 ASP.NET 不起作用
- 简单的JS计算器-为什么不是'这个if语句不起作用
- alert语句不起作用
- SELECT FROM WHERE语句在使用变量时不起作用…
- 如果语句由于某种原因不起作用
- Javascript验证不起作用——只要一个if语句为true,它就会停止所有if语句
- 范围的Switch语句不起作用
- Javascript If语句,不起作用