解决页面内弹窗弹出层时页面背景可滚动问题

  <div class="modelBox" v-show="openMusicListFlag"></div>
  watch: { // 使用watch监听,判断弹出框是显示状态或隐藏状态
    openMusicListFlag: { // 布尔类型变量,是否展示弹框
      handler (val) { // true:显示弹出框,false:隐藏弹出框
        if (val) {
          document.querySelector('body').setAttribute('style', 'overflow:hidden;')
        } else {
          document.body.removeAttribute('style')
        }
      }
    }
  },

一般使用布尔类型控制弹出框显示隐藏的话,可以使用watch监听控制样式
1.使用document.querySelector(‘body’)找到节点 body或者html
2.setAttribute(‘style’, ‘overflow:hidden;’)设置该节点滚动条隐藏样式
3.弹出框关闭时记得清除背景页滚动条隐藏样式document.body.removeAttribute(‘style’) 或
document.html.removeAttribute(‘style’)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容