我为实时背景渐变生成器编写了此代码,但不适用于谷歌浏览器,但正在使用Firefox,我在做什么错?
var color1 = document.querySelector(".color1");
var color2 = document.querySelector(".color2");
var body = document.getElementById("gradient");
function doGradient() {
body.style.background = "linear-gradient(to right, " +
color1.value +
"," +
color2.value +
")";
}
color1.addEventListener("input", doGradient)
color2.addEventListener("input", doGradient)
doGradient();
<body id="gradient">
<h1>Gradient Generator</h1>
<input class="color1" type="color" name="color1" value="#00ff00">
<input class="color2" type="color" name="color2" value="#ff0000">
<h2>CSS Background</h2>
</body>
没有响应或无法在Google Chrome上运行,但可以在Firefox上完美运行
最佳答案
我认为您忘记了在EventListener中调用doGradient
。但是在@Jon编辑之后,他添加了调用函数。
color1.addEventListener("input", doGradient())
这样尝试,希望它能解决问题。
编辑:
如果要在选择另一种颜色后应用渐变,则应使用
change
事件监听器而不是input
。