vue中禁止页面发生滚动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue中禁止页面发生滚动相关的知识,希望对你有一定的参考价值。

参考技术A 在Vue组件一个属性, 用于存储禁止滚动函数(变量也行,目的是在实现的时候禁止滚动函数能指向同一内存地址)

mounted函数只是一个例子, 实际应用中可放入任何事件中进行测试

vue页面禁止蒙层底部滚动

函数名 popupVisible,我是把这个方法放到vuex里面, 滚动高度用变量top表示

state: 
    pageLoad: !0,
    top: 0, // 页面滚动的高度
  , 
popupVisible(state, newValue) 
      if (newValue) 
        // 页面固定
        state.top = window.scrollY;
        console.log("true--state.top", state.top);
        document.body.style.position = "fixed";
        document.body.style.top = -state.top + "px";
       else 
        // 页面滚动
        console.log("false--state.top", state.top);
        document.body.style.position = "";
        document.body.style.top = "";
        window.scrollTo(0, state.top);
      
    ,

actions 里面commit 该mutations方法:

hidePass( commit , params)  // commit对象
      commit(‘popupVisible‘, params);
    

vue页面引用:

// 禁止蒙层底部滚动
this.$store.dispatch("hidePass", true);
// 允许
this.$store.dispatch("hidePass", false);
 

以上是关于vue中禁止页面发生滚动的主要内容,如果未能解决你的问题,请参考以下文章

vue页面有弹层,禁止页面滚动

vue页面禁止蒙层底部滚动

jquery怎么禁止手机页面触屏滑动页面滚动。(安卓和IOS都禁止)以及怎么接触禁止?谢谢

解决:vue 弹窗滑动 底部页面跟着滑动

vue页面打开列表第一个点击事件

vue如何禁止弹窗后面的滚动条滚动?