gpt4 book ai didi

javascript - 需要 if else 语句的助手

转载 作者:行者123 更新时间:2023-12-03 07:01:56 25 4
gpt4 key购买 nike

我是 javascript 新手,所以请帮助我了解我的问题是什么。

setTimeout(function() {
var wide = false;
if(wide = false) {
document.querySelector(".some-class").onclick = function() {
document.querySelector("#some-id").className += " MyClass";
wide = true;
};
}
else {
document.querySelector(".some-class").onclick = function() {
document.querySelector("#some-id").className =
document.querySelector("#some-id").className.replace(/\bMyClass\b/,'');
wide = false;
};
}
}, 1000);

这不起作用(不添加 MyClass)。但如果我只使用这个:

setTimeout(function() {
document.querySelector(".some-class").onclick = function() {
document.querySelector("#some-id").className += " MyClass";
};
}, 1000);

然后就可以正常工作了。那么我的代码无法正常工作的问题是什么?

PS:谢谢。这是我得到的:

setTimeout(function() {
var wide = false;
if(wide == false) {
document.querySelector(".some-class").onclick = function() {
document.querySelector("#some-id").className += " MyClass";
wide = true;
};
}
else {
document.querySelector(".some-class").onclick = function() {
document.querySelector("#some-id").className =
document.querySelector("#some-id").className.replace(/\bMyClass\b/,'');
wide = false;
};
}
}, 1000);

它有效,但现在它只在每个 onclick 事件上添加 MyClass 而不是删除它。我尝试将 else 与 elseif 一起使用,并尝试将 width = flase 和 width = true 移到 onclick 事件之外,但这是相同的。

最佳答案

问题是您有:if (wide = false) {...这是将 wide 设置为 false,而不是比较值。

要比较值,请使用 =====

  • 单个等于 -> 定义/设置变量。

  • double 等于 -> 与类型转换比较。例如: ("2"== 2)//true

  • 三重等于 -> 不进行类型转换的比较。例如: ("2"=== 2)//false

对于您的问题,您可以使用双等号或三等号。

关于javascript - 需要 if else 语句的助手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37006996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com