使元素单独更改颜色
Getting elements to change color individually
我想制作一个程序,当每个元素被单独点击时,它基本上会改变颜色。我已经做到了可以点击页面,两个元素都可以改变颜色,但我需要它们相互独立。我该怎么做这样的事?
document.onload = function()
{
document.onclick = changeTest("box0", "green");
};
function changeTest(id, color)
{
var element;
element = document.getElementById(id);
element.style.backgroundColor = color;
}
Html:
<!DOCTYPE html>
<html lang="en">
<head>
<title>this will appear on the tab in the browser</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script src="onclick.js" type="text/javascript"></script>
<style type="text/css">
{
border: 0;
margin:0;
paddig: 0;
}
body
{
font-family:"Times New Roman"; serif;
font-size: 12pt;
}
.box
{
height: 10em;
width: 10em;
margin: 2px;
}
#box0
{
background-color: yellow;
}
#box1
{
background-color: red;
}
</style>
</head>
<body>
<div class="box" id="box0"></div>
<div class="box" id="box1"></div>
</body>
</html>
var box0 = document.getElementById("box0");
var box1 = document.getElementById("box1");
var color = "green";
function changeColor(box, color) {
box.style.backgroundColor = color;
}
box0.onclick = function() {
changeColor(this, color);
};
box1.onclick = function() {
changeColor(this, color);
};
<!DOCTYPE html>
<html>
<head>
<title>this will appear on the tab in the browser</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script src="onclick.js" type="text/javascript"></script>
<style type="text/css">
* {
border: 0;
margin:0;
padding: 0;
}
body {
font-family:"Times New Roman"; serif;
font-size: 12pt;
}
.box
{
height: 10em;
width: 10em;
margin: 2px;
}
#box0 {
background-color: yellow;
}
#box1 {
background-color: red;
}
</style>
</head>
<body>
<div class="box" id="box0"></div>
<div class="box" id="box1"></div>
</body>
</html>
知道您也可以使用addEventListener()方法来执行此操作。
您必须将事件侦听器绑定到各个框。就这么简单。类似的东西(未测试):
document.getElementById("box0").onclick = changeTest("box0", "green");
document.getElementById("box1").onclick = changeTest("box1", "green");
我会使用jquery:
html:
<body>
<div class="box" id="box0">box0</div>
<div class="box" id="box1">box1</div>
</body>
和脚本:
$( "#box0" ).click(function() {
changeTest("box0", "green");
});
$( "#box1" ).click(function() {
changeTest("box1", "red");
});
这是一个jsfiddle:
http://jsfiddle.net/o8c8y23x/
好的,没有jquery:
<body>
<div class="box" id="box0" onclick = "changeTest('box0', 'red');">box0</div>
<div class="box" id="box1" onclick = "changeTest('box1', 'green');">box1</div>
</body>
jsfiddle:http://jsfiddle.net/o8c8y23x/2/
相关文章:
- 1种颜色的Javascript闪烁文本更长
- 使用highcharts为条形图中的每个条形设置单独的颜色
- javaScript代码在一个单独的文件中工作,但不是更大文件的一部分
- 使元素单独更改颜色
- 单击时更改行颜色-ASP.NET和JavaScript
- 获取动态背景颜色,使用 LESS 应用于单独的元素
- 更好的性能?200+ 个单独的结果页面或 200+ 个条件(如果还有其他梯形图或开关大小写?)在 Javascript/
- 将 html 内容分解为单独的更高级别 html 标记并将它们存储在数组中
- 如何在 JavaScript 条件下更改行颜色
- 使用 PHP 整理多个 JavaScript 文件将比单独包含它们更快
- 如何组合两个单独的Uint8Array的颜色数据(JPEG)和透明度数据(PNG)
- 在 MVC3 视图中使用嵌入式 JavaScript 还是单独的 .js 文件更好
- 如何在选择行时更改行颜色
- 单击HTML按钮更改行的背景颜色
- 如何在比原始大小更大的颜色框中显示图像
- 如何为每个WebGL三角形设置单独的颜色
- 颜色选择器在JQuery中分别设置单独的属性
- 更改由引号或自定义包围的文本的颜色
- jQuery背景颜色单独更改功能
- 在HTML5画布中重新绘制彩色圆圈,将值存储在数组中或每次重新计算颜色的更好方法