为什么单击时我的颜色没有改变?

丁尼克

所以我有一个非常简单的代码,在我运行它时没有给出任何错误,但是问题是,它没有执行应有的功能...

当我单击中间的div时,它应该会更改颜色...

我想念什么?似乎找不到任何错字...

var panel = document.getElementById('color_panel');
document.getElementById('color_panel').addEventListener("click", function() {
  var mySwitch = document.getElementById('color_panel').style.background;
  if (mySwitch == "#76FF03") {
    document.getElementById('color_panel').style.background = "#039BE5";
  } else {
    document.getElementById('color_panel').style.background = "#76FF03";
  }
});
<body style="background: #37474F; margin: 0;">
  <div id="color_panel" style="background: #76FF03; margin:
    auto; font-family: Century Gothic; font-size: 40px; color: #37474F;
    width: 200px; height: 200px; padding: 20px; margin-top: 50%;
    transform: translateY(-50%); text-align: center;">
    Click me!<br>or Double Click?</div>
  <button style="font-size: 10px;
    width: 100px; height: 20px; margin-left: 50%;
    transform: translateX(-50%); border: solid 2px;
    border-color: #FBC02D; border-radius: 5px;
    background: #E3F2FD;" id="button" onclick="transition()">
    add transition!</button>

昆汀

您需要进行一些基本的调试。添加一条console.log语句以检查您要添加到语句中的值,if并查看其实际含义。

浏览器正在对其进行规范化,因此mySwitch == "#76FF03"永远不会正确。

var panel = document.getElementById('color_panel');
document.getElementById('color_panel').addEventListener("click", function() {
  var mySwitch = document.getElementById('color_panel').style.background;
  console.log(mySwitch);
  if (mySwitch == "#76FF03") {
    document.getElementById('color_panel').style.background = "#039BE5";
  } else {
    document.getElementById('color_panel').style.background = "#76FF03";
  }
});
<body style="background: #37474F; margin: 0;">
  <div id="color_panel" style="background: #76FF03; margin:
    auto; font-family: Century Gothic; font-size: 40px; color: #37474F;
    width: 200px; height: 200px; padding: 20px; margin-top: 50%;
    transform: translateY(-50%); text-align: center;">
    Click me!<br>or Double Click?</div>
  <button style="font-size: 10px;
    width: 100px; height: 20px; margin-left: 50%;
    transform: translateX(-50%); border: solid 2px;
    border-color: #FBC02D; border-radius: 5px;
    background: #E3F2FD;" id="button" onclick="transition()">
    add transition!</button>

通常,通过将所有样式放在单独的样式表中,然后调整元素所属的类,可以更好地解决此类问题。

var panel = document.getElementById('color_panel');

panel.addEventListener("click", function() {
  panel.classList.toggle("other");
});
body {
  background: #37474F;
  margin: 0;
}

#color_panel {
  background: #76FF03;
  margin: auto;
  font-family: Century Gothic;
  font-size: 40px;
  color: #37474F;
  width: 200px;
  height: 200px;
  padding: 20px;
  margin-top: 50%;
  transform: translateY(-50%);
  text-align: center;
}

#color_panel.other {
  background: #039BE5;
}

#button {
  font-size: 10px;
  width: 100px;
  height: 20px;
  margin-left: 50%;
  transform: translateX(-50%);
  border: solid 2px;
  border-color: #FBC02D;
  border-radius: 5px;
  background: #E3F2FD;
}
<div id="color_panel">
  Click me!<br>or Double Click?
</div>

<button style="" id="button" onclick="transition()">
    add transition!
</button>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我的 NavigationBar 颜色在 Swift 中没有改变?

为什么我的观点没有改变?

为什么当我改变边界时视图没有改变?

为什么单击按钮时我的表单没有出现?

为什么我的代码中某些文本字段的背景颜色没有改变?

为什么在使用 style.backgroundColor 时背景颜色没有改变?

为什么身体背景颜色没有改变

为什么按钮的背景没有改变颜色?

为什么我的跨度在滚动时不改变颜色

为什么我的图标在我点击时没有改变?(离子/vue/ts)

为什么单击按钮后图像没有改变?

当我没有给变量赋值时,为什么变量的值会改变?

为什么在训练模型时我在Keras中的损失没有改变?

为什么当我按下按钮时UILabel没有改变?

为什么在使用while循环时我的外部变量没有改变?

为什么在我使用 for of 循环修改innerText 时span 元素的innerText 没有改变?

为什么当 Set 状态改变时我的 React 组件没有重新渲染?

为什么当父宽度改变时我的 flexbox 项目没有对齐?

当我更改分配的数字时,为什么值没有改变?

为什么当状态改变时我的组件没有重新渲染?

当我在其他函数中修改变量“num1”时,为什么它没有改变?

为什么我的 python 全局变量没有改变?

为什么我的对象中的值没有改变?

为什么我的全局变量似乎没有改变?

为什么我的全局变量没有改变?

为什么当我添加了 css 时我的页面没有显示背景颜色

为什么程序没有在信号值改变时终止?

当我在 forEach 循环中重新分配属性时,为什么我的对象没有改变?

我网站的背景没有改变颜色