【问题标题】:On-off button function two condition开关按钮功能两种情况
【发布时间】:2022-12-21 23:01:13
【问题描述】:

仅在侧面工作。否则条件不起作用。这里有什么问题吗?

【问题讨论】:

  • 这个什么时候调用?看起来每次函数被触发时 openTopAdsButton 都会设置为 true,因此它永远不会进入其他状态。
  • 断点和逐步执行可能会帮助您了解它是如何工作的

标签: javascript function if-statement


【解决方案1】:

这种情况将总是成为true

let openedTopAdsButton = true;
if (openedTopAdsButton) {
  //...
}

因为当您将变量定义为等于true 时,该变量将等于true

看起来像对于onOffCollapsedAds 函数的多次调用,您期望变量的值随时间变化。如果是这种情况,那么您不想重新定义变量并将其显式设置为true在每次调用函数时.相反,定义变量外部函数,因此它的值可以跨函数调用持续存在:

let openedTopAdsButton = true;

const onOffCollapsedAds = () => {
  if (openedTopAdsButton) {
    //...
    openedTopAdsButton = false;
  } else {
    //...
    openedTopAdsButton = true;
  }
};

【讨论】:

  • 谢谢你的答案。我尝试了您的解决方案,但结果没有改变
  • @usul93:Works for me.你能提供一个minimal reproducible example来证明这个问题吗?
  • @usul93:您的更新版本永远不会将openedTopAdsButton 设置回true。这就是为什么 openedTopAdsButton 永远不会设置回 true 的原因。你为什么要删除那条线?
  • 因为无论如何它在我的本地都不起作用。但再次为您编辑。再次感谢。
  • @usul93:它有什么“不起作用”?您期望什么功能与您观察到的功能?如果我继续在您的<button> 元素上调用“点击”事件,那么它会继续在两种不同的显示状态之间来回切换。也许您只是在努力单击按钮,因为您的样式有时会将其部分隐藏在其他元素后面?您需要比“它不起作用”更清楚,并且样式问题从来不在所问问题的原始范围内。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多