js实现元素样式切换(附码)

简介: js实现元素样式切换(附码)

需求:

用户第一次点击某些元素,改变元素的某些样式,比如背景颜色,字体颜色。

用户第二次点击某些元素,恢复之前的样式。

.....


思路:

  1. 准备一定量的div盒子,并取相同的类名
    <div class="box" ></div>

<div class="box"></div>

<div class="box"></div>

<div class="box"></div>

<div class="box"></div>

<div class="box"></div>

<div class="box"></div>

通过js获取所有元素,并给定指令。使得点击任意一个盒子,都可随意改变原有样式,而不影响其他盒子


判断,如果当前点击的盒子背景被改变,则再点击当前盒子背景恢复。

效果:

代码实现:<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title></title>

</head>

<style>

.box {

width: 50px;

height: 50px;

background-color: aqua;

margin: 5px;

}

</style>

<body>

<div class="box"></div>

<div class="box"></div>

<div class="box"></div>

<div class="box"></div>

<div class="box"></div>

<div class="box"></div>

<div class="box"></div>

<script>

let box = document.querySelectorAll(".box");

for (let i = 0; i < box.length; i++) {

box[i].onclick = function() {

if (box[i].style.background == '' || box[i].style.background == undefined) {

box[i].style.background = 'red'

} else {

if (box[i].style.background == 'red') {

box[i].style.background = 'aqua'

} else if (box[i].style.background == 'aqua') {

box[i].style.background = 'red'

}

}

}

}

</script>


</body>

</html>


相关文章
|
3天前
|
JavaScript 前端开发
JavaScript 的数组方法 map()、filter() 和 reduce() 提供了函数式编程处理元素的方式
【5月更文挑战第11天】JavaScript 的数组方法 map()、filter() 和 reduce() 提供了函数式编程处理元素的方式。map() 用于创建新数组,其中元素是原数组元素经过指定函数转换后的结果;filter() 则筛选出通过特定条件的元素生成新数组;reduce() 将数组元素累计为单一值。这三个方法使代码更简洁易读,例如:map() 可用于数组元素乘以 2,filter() 用于选取偶数,reduce() 计算数组元素之和。
11 2
|
3天前
|
存储 JavaScript 前端开发
深入了解JavaScript中的indexOf()方法:实现数组元素的搜索和索引获取
深入了解JavaScript中的indexOf()方法:实现数组元素的搜索和索引获取
9 0
|
3天前
|
JavaScript 前端开发 索引
js添加、删除、替换、插入元素的方法
js添加、删除、替换、插入元素的方法
12 0
|
3天前
|
JavaScript 前端开发 容器
js操作dom元素
js操作dom元素
16 0
|
3天前
|
JavaScript 前端开发
js选取页面元素的方法
js选取页面元素的方法
14 2
|
3天前
|
JavaScript 前端开发
JavaScript DOM 文档对象模型(获取、改变html元素)
JavaScript DOM 文档对象模型(获取、改变html元素)
|
3天前
|
JavaScript 前端开发
在JavaScript中怎样获取或修改HTML元素。
在JavaScript中怎样获取或修改HTML元素。
|
3天前
|
前端开发 JavaScript
JavaScript 获取 HTML 元素
JavaScript 获取 HTML 元素
|
3天前
|
JavaScript 前端开发
js改变元素的内容、属性、样式
js改变元素的内容、属性、样式
15 3
|
3天前
|
JavaScript 前端开发
js怎么删除html元素
js怎么删除html元素
34 10