Js 特效案例-全选全不选反选

546 阅读1分钟

这是我参与11月更文挑战的第15天,活动详情查看:2021最后一次更文挑战

今天使用三种方法为多个标签设置响应事件,我们一起往下看,嘿嘿嘿。

一、HTML布局

实现设计好相关需要的区域,html布局如下:

1、选项标签区域

2、按钮全选、全不选和反选区域

布局核心html代码如下:

    <div class="select">
        <div class="content">
            <p><input type="checkbox" name="" id="">篮球</p>
            <p><input type="checkbox" name="" id="">足球</p>
            <p><input type="checkbox" name="" id="">羽毛球</p>
            <p><input type="checkbox" name="" id="">乒乓球</p>
        </div>
        <div class="btn">
            <button onclick="checkStatus(0)">全选</button>
            <button onclick="checkStatus(1)">全不选</button>
            <button onclick="checkStatus(2)">反选</button>
        </div>
    </div>

二、CSS样式

因为主要是为了练习一下javascript的代码,html布局的样式信息怎么方便怎么来,样式如下:

image.png

image.png

加完样式信息后的布局如下图:

image.png

三、Javascript特效

1、获取相关标签对象:选项标签对象,全选、全不选和反选按钮对象

image.png

2、绑定响应事件方法一:为每个按钮绑定事件

button[0].addEventListener('click', () => {
    for (let i = 0; i < input.length; i++) {
        input[i].checked = true;
    }
})
button[1].addEventListener('click', () => {
    for (let i = 0; i < input.length; i++) {
        input[i].checked = false;
    }
})
button[2].addEventListener('click', () => {
    for (let i = 0; i < input.length; i++) {
        input[i].checked = !input[i].checked;
    }
})

3、绑定响应事件方法二:封装函数

image.png

4、绑定响应事件方法三:标签上绑定响应事件

image.png

5、有关勾选选项时,要注意以下三点: (1)用户勾选复选框。 (2)input标签标有checked属性
(3)js中input对象checked属性为true

B站视频网址:www.bilibili.com/video/BV1b6…