我只是开始使用javascript并解决我们的讲师给我们的问题。我们有一个带有四个按钮的html站点,每个按钮都有一种颜色,当您单击该按钮时,它将更改背景/文本的颜色。下面的示例HTML和javascript。
的HTML
<div id="wrapper">
<ul id="switcher">
<li id="grayButton"></li>
<li id="whiteButton"></li>
<li id="blueButton"></li>
<li id="yellowButton"></li>
</ul>
</div>
的CSS
document.getElementById("yellowButton").onclick = turnYellow;
function turnYellow (){
document.getElementById("wrapper").style.backgroundColor = "yellow";
document.getElementById("wrapper").style.color = "orange";
}
我可以正常工作,但是我试图进行重构,以使我的函数更通用:
document.getElementById("grayButton").onclick = changeColor("gray", "white");
function changeColor(backColor, frontColor) {
document.getElementById("wrapper").style.backgroundColor = backColor;
document.getElementById("wrapper").style.color = frontColor;
}
我不知道为什么这行不通。有什么想法吗?
您需要在匿名函数中调用函数,添加参数()
导致函数立即被调用:
document.getElementById("grayButton").onclick = function() {
changeColor("gray", "white");
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句