【发布时间】:2022-12-21 23:01:13
【问题描述】:
仅在侧面工作。否则条件不起作用。这里有什么问题吗?
【问题讨论】:
-
这个什么时候调用?看起来每次函数被触发时 openTopAdsButton 都会设置为 true,因此它永远不会进入其他状态。
-
断点和逐步执行可能会帮助您了解它是如何工作的
标签: javascript function if-statement
仅在侧面工作。否则条件不起作用。这里有什么问题吗?
【问题讨论】:
标签: javascript function if-statement
这种情况将总是成为true:
let openedTopAdsButton = true;
if (openedTopAdsButton) {
//...
}
因为当您将变量定义为等于true 时,该变量将等于true。
它看起来像对于onOffCollapsedAds 函数的多次调用,您期望变量的值随时间变化。如果是这种情况,那么您不想重新定义变量并将其显式设置为true在每次调用函数时.相反,定义变量外部函数,因此它的值可以跨函数调用持续存在:
let openedTopAdsButton = true;
const onOffCollapsedAds = () => {
if (openedTopAdsButton) {
//...
openedTopAdsButton = false;
} else {
//...
openedTopAdsButton = true;
}
};
【讨论】:
openedTopAdsButton 设置回true。这就是为什么 openedTopAdsButton 永远不会设置回 true 的原因。你为什么要删除那条线?
<button> 元素上调用“点击”事件,那么它会继续在两种不同的显示状态之间来回切换。也许您只是在努力单击按钮,因为您的样式有时会将其部分隐藏在其他元素后面?您需要比“它不起作用”更清楚,并且样式问题从来不在所问问题的原始范围内。