[英]How to use popup box input to change CSS (background color)
我有一个关于JavaScript和CSS的快速问题。
我想有一个弹出框,允许您输入一种颜色(CSS可以识别的任何主要原色)。 用户输入颜色后,我希望它更改外部样式表中的body元素以更改页面的背景色。 我知道我将需要在CSS中使用这些属性的组合,但是我不确定如何将其与外部CSS关联的语法以及在此处进行组合的正确方法。
从W3Schools:
function myFunction() {
var person = prompt("Please enter your name", "Harry Potter");
if (person != null) {
document.getElementById("demo").innerHTML =
"Hello " + person + "! How are you today?";
}
}
同样来自W3Schools:
onclick="this.parentElement.style.display='none';"
现在,我想我的主要问题是如何在显示为“ display ='none';”的地方进行操作。 实际接受弹出框的输入并将其插入onclick中以实现我的目标(是否会是this.parentElement.style.backgroundcolor ='“ + usercolorinput +”';“)
提前致谢。
这就是我要怎么做。
function changeColor(element) { document.body.style.backgroundColor = element.value; }
<h4> Type #333, or pink below </h4> <input oninput="changeColor(this)"/>
<input-element>
可以根据您的输入触发许多事件。 在这种情况下,我使用了oninput
事件,该事件在您每次在<input>
键入内容时触发,以调用一个名为changeColor
的函数。
调用函数时,输入还发送元素本身作为参数。 因此,在我的changeColor
函数中,我可以访问触发它的元素。
在函数内部,我读取输入的value
,然后选择页面的body
并将其backgroundColor
设置为输入的值。
或者,您可以按照要求使用按钮。
function changeColor() { // get the input element value var inputValue = document.getElementById("colorInput").value; // apply the value as a backgroundColor on body document.body.style.backgroundColor = inputValue; }
<h4> Type #333, or pink below and press "Change color" </h4> <input id="colorInput"/> <button onclick="changeColor()"> Change color </button>
在这种情况下,单击按钮将调用changeColor
函数。
在该函数内部,我们通过其id
属性获取input
并读取其值来获取input
的值。
然后像上面的示例一样,使用该值将backgroundColor
应用于body
首先创建您的函数,该函数在单击事件后返回显示值。
function changeDisplay{
var value="block";
return value;
}
然后在点击函数onclick =“ this.parentElement.style.display = changeDisplay()”;中调用它;
注意:-在概念上更改背景颜色的方法是相同的,但是您需要将此功能添加到另一个事件中,例如输入文本中的文本更改或选择框中的选择选项,或者您希望在脚本或网页中使用的方法
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.