js原生 toggle函数编写

     工作中遇到了需要动态切换slide下拉框展示与隐藏,同时需要切换元素上附加的样式,以下脚本为实现此功能的实践。

//元素点击时切换隐藏与展示逻辑
var slidsDownShow = document.querySelectorAll('div.deliveryArea__link > span');
    if(slidsDownShow){
        slidsDownShow.forEach(function(item){
            item.addEventListener("click",function(e){
            var tar = e.target || e.srcElement;
            if(tar.parentElement.nextElementSibling.style.display != 'block'){
                tar.parentElement.nextElementSibling.style.display = 'block';
            }else{
                tar.parentElement.nextElementSibling.style.display = 'none';
            }
            console.log('click info1 ..')});
        })
        
    }
    //定义切换样式的函数
    function toggleClass(ele,cln) {
      if ((' ' + document.querySelector(ele).className + ' ').indexOf(' ' + cln + ' ') > -1) {
        document.querySelector(ele).classList.remove(cln)
      } else {
        document.querySelector(ele).classList.add(cln)
      }
    }

    var subEles = document.querySelectorAll('.deviceInfoArea__infoTitle');
    subEles.forEach(function (item) {
      item.addEventListener('click', function () {
        //调用上面的方法
        toggleClass('.deviceInfoArea__infoTitle','open')
        if(this.nextElementSibling.style.display == 'block'){
            this.nextElementSibling.style.display = 'none';
        }else{
            this.nextElementSibling.style.display = 'block';
        }
      })
    })
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值