Javascript 如何制作多个按钮以更改不同的div背景色?
看看我想做什么: 我能够使用“蓝色”按钮使正方形的颜色改变颜色。我想做的是制作多个按钮,将正方形的颜色更改为按钮中显示的颜色。例如,如果我单击一个显示“绿色”的按钮,正方形将变为绿色,如果我单击另一个显示“紫色”的按钮,正方形将变为紫色 我正在用JavaScript介绍DOM,很抱歉问了这么一个基本的问题 HTML:Javascript 如何制作多个按钮以更改不同的div背景色?,javascript,html,css,dom,Javascript,Html,Css,Dom,看看我想做什么: 我能够使用“蓝色”按钮使正方形的颜色改变颜色。我想做的是制作多个按钮,将正方形的颜色更改为按钮中显示的颜色。例如,如果我单击一个显示“绿色”的按钮,正方形将变为绿色,如果我单击另一个显示“紫色”的按钮,正方形将变为紫色 我正在用JavaScript介绍DOM,很抱歉问了这么一个基本的问题 HTML: <html> <head> <meta charset = "UTF-8" /> <title>DOM Pra
<html>
<head>
<meta charset = "UTF-8" />
<title>DOM Practice</title>
</head>
<body>
<div id = 'square'></div>
<button onClick = changeColor() >Blue</button>
</body>
</html>
#square{
width: 100px;
height: 100px;
background-color: red;
}
function changeColor(){
var elem = document.getElementById( 'square' );
elem.style.backgroundColor = 'blue';
}
JavaScript:
<html>
<head>
<meta charset = "UTF-8" />
<title>DOM Practice</title>
</head>
<body>
<div id = 'square'></div>
<button onClick = changeColor() >Blue</button>
</body>
</html>
#square{
width: 100px;
height: 100px;
background-color: red;
}
function changeColor(){
var elem = document.getElementById( 'square' );
elem.style.backgroundColor = 'blue';
}
最简单的方法是更新
changeColor()
以获取color
的参数。
那么比如说,
Javascript:
function changeColor(color){
var elem = document.getElementById( 'square' );
elem.style.backgroundColor = color;
}
然后在HTML中,我们可以执行以下操作:
<html>
<head>
<meta charset = "UTF-8" />
<title>DOM Practice</title>
</head>
<body>
<div id = 'square'></div>
<button onClick = changeColor('blue') >Blue</button>
<button onClick = changeColor('red') >Red</button>
</body>
</html>
DOM实践
蓝色
红色
这将使我们能够通用化
changeColor()
函数,并使其在未来的应用程序中更加可重用 最简单的方法是更新changeColor()
以获取color
的参数。
那么比如说,
Javascript:
function changeColor(color){
var elem = document.getElementById( 'square' );
elem.style.backgroundColor = color;
}
然后在HTML中,我们可以执行以下操作:
<html>
<head>
<meta charset = "UTF-8" />
<title>DOM Practice</title>
</head>
<body>
<div id = 'square'></div>
<button onClick = changeColor('blue') >Blue</button>
<button onClick = changeColor('red') >Red</button>
</body>
</html>
DOM实践
蓝色
红色
这将使我们能够通用化
changeColor()
函数,并使其在未来的应用程序中更加可重用 在函数中使用if/else语句,我不会为您这样做,但逻辑应该是,如果单击蓝色按钮,则更改为蓝色,如果单击红色按钮,则更改为红色,依此类推。在函数中使用if/else语句,我不会为您这样做,但逻辑应该是,如果单击蓝色按钮,则更改为蓝色,如果单击红色按钮,则更改为红色,依此类推。您可以在调用按钮上的函数时将颜色作为参数传递
检查这个密码笔
您可以在按钮处调用函数时将颜色作为参数传递 检查这个密码笔
数据属性在这方面非常有用:我还喜欢使用
rel
将js挂接到标记中,而不是类中,以保持内容的清晰
<div class='square' rel='box'></div>
<ul class='color-list' rel='box-colors'>
<li class='color' data-color='red'>red</li>
<li class='color' data-color='blue'>blue</li>
...
</ul>
数据属性在这方面非常有用:我还喜欢使用
rel
将js挂接到标记中,而不是类中,以保持内容的清晰
<div class='square' rel='box'></div>
<ul class='color-list' rel='box-colors'>
<li class='color' data-color='red'>red</li>
<li class='color' data-color='blue'>blue</li>
...
</ul>
编辑——这种方法在IMO中是最简单的
HTML:
原创——一个玩css变量的借口
以下是一种方法:
const colors=[“红色”、“橙色”、“黄色”、“绿色”、“蓝色”、“靛蓝”、“紫色”];
const getRandomColor=()=>colors[Math.floor(Math.random()*colors.length)]
const selectColor=(color)=>document.body.style.setProperty('--current',color);
document.addEventListener('DOMContentLoaded',e=>{
const preview=document.getElementById('square');
常量changeColor=(e)=>{
让color=getComputedStyle(e.currentTarget).getPropertyValue('--color name');
选择颜色(颜色);
让logStyles=`
颜色:黑色;
字体大小:粗体;
背景色:${color};
字号:18px;`;
log(`color已更改为%c${color}`,logStyles);
}
//1.选择紫色作为起始颜色
//2.创建按钮
//注意:我通过编程创建了按钮,但是您也可以轻松地
//
//红色的
//橙色的
//等等。。。
选择颜色(“丽贝卡紫色”)
颜色。forEach((颜色,i)=>{
let button=document.createElement('button');
button.style.setProperty('--color name',color);
button.onclick=changeColor;
button.textContent=颜色;
document.body.appendChild(按钮);
})
})
正文{
--当前:“绿色”;
}
#方格{
背景色:var(--电流);
宽度:150px;
高度:150像素;
边缘底部:15px;
}
钮扣{
填充:8px 16px;
背景:白色;
边框:1px实心#F3;
颜色:var(--颜色名称);
右边距:8px;
}
DOM实践
EDIT——这种方法在我看来是最简单的
HTML:
原创——一个玩css变量的借口
以下是一种方法:
const colors=[“红色”、“橙色”、“黄色”、“绿色”、“蓝色”、“靛蓝”、“紫色”];
const getRandomColor=()=>colors[Math.floor(Math.random()*colors.length)]
const selectColor=(color)=>document.body.style.setProperty('--current',color);
document.addEventListener('DOMContentLoaded',e=>{
const preview=document.getElementById('square');
常量changeColor=(e)=>{
让color=getComputedStyle(e.currentTarget).getPropertyValue('--color name');
选择颜色(颜色);
让logStyles=`
颜色:黑色;
字体大小:粗体;
背景色:${color};
字号:18px;`;
log(`color已更改为%c${color}`,logStyles);
}
//1.选择紫色作为起始颜色
//2.创建按钮
//注意:我通过编程创建了按钮,但是您也可以轻松地
//
//红色的
//橙色的
//等等。。。
选择颜色(“丽贝卡紫色”)
颜色。forEach((颜色,i)=>{
let button=document.createElement('button');
button.style.setProperty('--color name',color);
button.onclick=changeColor;
button.textContent=颜色;
document.body.appendChild(按钮);
})
})
正文{
--当前:“绿色”;
}
#方格{
背景色:var(--电流);
宽度:150px;
高度:150像素;
边缘底部:15px;
}
钮扣{
填充:8px 16px;
背景:白色;
边框:1px实心#F3;
颜色:var(--颜色名称);
右边距:8px;
}
DOM实践
Wow。我从来没有想过这个。这真的很管用。我从来没有想过这个。这真的很有效。谢谢你的密码笔。它给了我一个很好的视觉效果。谢谢你的代码笔。它给了我一个很好的视觉效果