2 回答

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>

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>
添加回答
举报