首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法通过javascript CSS重置按钮颜色

无法通过javascript CSS重置按钮颜色
EN

Stack Overflow用户
提问于 2020-09-13 17:41:55
回答 2查看 45关注 0票数 1

我可以使用CSS backgroundImage线性梯度来改变javascript中按钮的颜色,但当我使用相同的技术试图将其重置回原来的状态时,它不起作用。

我遗漏了什么?

代码语言:javascript
复制
var darkened=false;

function toggle() {

  if (darkened) {
      console.log("lightening button");
      document.getElementById("scrollbutton").style.backgroundImage = "linear-gradient(rgb(222, 222, 222), rgb(255, 255, 255));";

  } else {

      console.log("darkening button");
      document.getElementById("scrollbutton").style.backgroundImage = "linear-gradient(rgb(99, 99, 99), rgb(166, 166, 166))";
  }

  darkened = ! darkened;

}
代码语言:javascript
复制
<html>
<body>

<button style="background-image: linear-gradient(rgb(222, 222, 222),rgb(255, 255, 255));" id="scrollbutton" onclick="toggle();"> pressme</button>

</body></html>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-13 17:48:42

,您不必在做css函数(如线性梯度)之后放置分号。

因为,javascript假定它是它的语句的分号,并在那里结束代码。

代码语言:javascript
复制
var darkened=false;

function toggle() {

  if (darkened) {
      console.log("lightening button");
      document.getElementById("scrollbutton").style.backgroundImage = "linear-gradient(rgb(222, 222, 222), rgb(255, 255, 255))";

  } else {

      console.log("darkening button");
      document.getElementById("scrollbutton").style.backgroundImage = "linear-gradient(rgb(99, 99, 99), rgb(166, 166, 166))";
  }

  darkened = ! darkened;

}
代码语言:javascript
复制
<html>
<body>

<button style="background-image: linear-gradient(rgb(222, 222, 222),rgb(255, 255, 255));" id="scrollbutton" onclick="toggle();"> pressme</button>

</body></html>

票数 2
EN

Stack Overflow用户

发布于 2020-09-13 17:48:52

您可能不需要定义变量并更改内联样式。您可以使用classList.toggle和单独的样式,并将它们添加到新类中。

代码语言:javascript
复制
function toggle() {
  document.getElementById("scrollbutton").classList.toggle('darkening');
}
代码语言:javascript
复制
.lightening {
  background-image: linear-gradient(rgb(222, 222, 222), rgb(255, 255, 255));
}

.darkening {
  background-image: linear-gradient(rgb(99, 99, 99), rgb(166, 166, 166))
}
代码语言:javascript
复制
<button class="lightening" id="scrollbutton" onclick="toggle();"> pressme</button>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63873761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档