为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

温温酱 2023-03-03 15:38:36
我可以使用 CSS backgroundImage 线性渐变在 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;}<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 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

您不必在执行 css 函数(例如 linear-gradient)后放置分号


因为,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;


}

<html>

<body>


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


</body></html>


查看完整回答
反对 回复 2023-03-03
?
繁星淼淼

TA贡献1775条经验 获得超11个赞

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


function toggle() {

  document.getElementById("scrollbutton").classList.toggle('darkening');

}

.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))

}

<button class="lightening" id="scrollbutton" onclick="toggle();"> pressme</button>


查看完整回答
反对 回复 2023-03-03
  • 2 回答
  • 0 关注
  • 120 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号