禁止浏览器滚动

Pin body

所以,还是要从根子抓起,比如,就固定body不让它滚!

function toggleBody(isPin){

    if(isPin){

        document.body.style.height = '100vh'

        document.body.style['overflow-y'] = 'hidden'
    }

    else{

        document.body.style.height = 'unset'

        document.body.style['overflow-y'] = 'auto'

    }
}

toggleBody(1)  //在跳出弹窗的时候
toggleBody(0)  //弹窗消失的时候
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

conclusion

直接锁定body在移动端和web都适用,但如果是从事件入手的话,就要根据需要选择到底是用touch 还是 mousewheel了。

酌情使用吧,如果一个页面中有很多不同的弹窗,那么对每一个弹窗的蹦出和消失都加上toggleBody事件也是挺烦的。。。也要考虑到用什么工具做的页面,如果是框架的话,在组件里绑会相对简洁一些。。。

p.s csdn更新了啊,新版的编辑器还蛮好用的。还调细了字体,感觉好看多了。赞一个。


猜你喜欢

转载自blog.csdn.net/hansexploration/article/details/80367181