使用js实现点击事件
本文介绍如何通过HTML、CSS及JavaScript实现一个可交互的3x3表格,点击表格中的格子可以改变其背景颜色,颜色变化遵循特定的顺序。
使用js实现点击事件
文章信息
- 原文链接:https://jiayq.blog.csdn.net/article/details/75529166
- 发布时间:2017-07-20 14:42:19
- 阅读量:6
- 分类:java专栏收录该内容, 订阅专栏
- 标签:#java, #css, #javascript, #html
摘要
文章浏览阅读6k次,点赞2次,收藏4次。本文介绍如何通过HTML、CSS及JavaScript实现一个可交互的3x3表格,点击表格中的格子可以改变其背景颜色,颜色变化遵循特定的顺序。
这个项目实现一个页面上的3*3的格子,点击每个格子,改变其背景颜色。
效果如下:
1.首先在HTML文件的<body>标签中创建一个表格,背景颜色是红色:
①使用css文件:
首先在WebRoot的文件夹下创建一个CSS文件夹,创建一个index.css文件
写入如下代码:
1
2
3
4
5
6
7
8
9
td{
width:200px;
height:200px;
font-size: 25px;
border: 1px solid black;
font-family: 楷体;
background-color: red;
color: white;
}
td前面什么都没有,没有#,也没有.
表示只要是引用这个css文件的页面里的所有的td的属性都会把这些属性当作外部属性来调用
所以,在HTML文件的<body>标签下只需要写下如下代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<body>
<table id="table" align="center" style="border: 2px solid black;">
<tr>
<td id="1" align="center">一
</td>
<td id="2" align="center">二
</td>
<td id="3" align="center">三
</td>
</tr>
<tr>
<td id="4" align="center">四
</td>
<td id="5" align="center">五
</td>
<td id="6" align="center">六
</td>
</tr>
<tr>
<td id="7" align="center">七
</td>
<td id="8" align="center">八
</td>
<td id="9" align="center">九
</td>
</tr>
</table>
</body>
效果如下:
所以,我们让页面加载完成后,使用js来为我们的每个单元格添加一个点击事件处理方法:
1
2
3
4
5
6
7
8
9
10
<script type="text/javascript">
window.onload=function(){
var tdNodes = document.getElementsByTagName("td");
for(var i =0;i<tdNodes.length;i++){
tdNodes[i].index = i + 1;
tdNodes[i].onclick = function(){
}
}
}
</script>
这里,事件处理方法中什么都没有操作,现在我们只是能够获得我们点击的单元格的id属性:
我们添加一个整型的变量来存储我们点击的次数,以此来改变颜色:
1
var sum =0;
然后添加对应的改变颜色的操作:
1
2
3
4
5
6
7
8
9
10
11
12
13
sum++;
if(sum%6 == 0)
document.getElementById(this.index).style.backgroundColor = "fuchsia";
else if(sum%6 == 1)
document.getElementById(this.index).style.backgroundColor = "blue";
else if(sum%6 == 2)
document.getElementById(this.index).style.backgroundColor = "yellow";
else if(sum%6 == 3)
document.getElementById(this.index).style.backgroundColor = "green";
else if(sum%6 == 4)
document.getElementById(this.index).style.backgroundColor = "purple";
else
document.getElementById(this.index).style.backgroundColor = "red";
原始颜色为红色点击第一次背景色变为funchsia->blue->yellow->green->purple->red;
最终结果:
本文由作者按照 CC BY 4.0 进行授权