js 简单的公用封装函数调用 (优化代码)

在写网页的时候会,页面会有多个标签获取,这时我们为了节省代码优化数据,就会做一个公用的封装函数来放在公用的文件里面调用。

1.获取多个标签

调用方法

  let liLs = getElAll(".chTab>.chTab_list>.chTab_single")

// 封装一个专门获取标签多个的方法
function getElAll(tagName) {
    return document.querySelectorAll(tagName)
}

2.获取单个标签

调用方法

let liTs = getEl(".chTab>.chTab_title>ul>li")

// 封装一个专门获取标签单个的方法
function getEl(tagName) {
    return document.querySelector(tagName)
}

3 .在写交互效果的时候我们也会用到多个相同的事件也可以写一个如 选项卡,点击事件,移入移出事件

allTitle, allList 获取到的标签

 titleClassName, listClassName  需要添加的类名

num = 0 默认为0 执行第一个点击事件

调用 方法checkTab(spans, chSingles, "active", "show",2)

// 封装一个大家都可以使用的选项卡函数
function checkTab(allTitle, allList, titleClassName, listClassName, num = 0) {
    if (num == 0) {
        for (let a = 0; a < allTitle.length; a++) {
              //点击事件
            allTitle[a].onclick = function () {
                for (let b = 0; b < allTitle.length; b++) {
                    //清除类名
                    allTitle[b].classList.remove(titleClassName)
                    allList[b].classList.remove(listClassName)
                }
                 //添加类名
                this.classList.add(titleClassName)
                allList[a].classList.add(listClassName)
            }

        }
    } else {
        for (let a = 0; a < allTitle.length; a++) {
                //移入事件
            allTitle[a].onmouseover = function () {
                for (let b = 0; b < allTitle.length; b++) {
                    allTitle[b].classList.remove(titleClassName)
                    allList[b].classList.remove(listClassName)
                }
                this.classList.add(titleClassName)
                allList[a].classList.add(listClassName)
            }

        }
    }

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值