怎么通过js禁止页面滚动

JavaScript08

怎么通过js禁止页面滚动,第1张

这个要看你自己的需求是什么。如果单纯的是想在某个模块不要滚动的话直接overflow:hidden就可以。如果需要整个页面都不想要浏览器的滚动行为可以用JS阻止浏览器行为,比如:

event.preventDefault()//firefox等

event.returnValue = false//IE系列

在这里我想先给说说原理

滚动的原理就是滚动条的移动,当外部区域设置为overflow:hidden,内部快如果超出外部的区域,此时就有滚动条了(只是你没看见而已),这是后只要n毫秒让滚动条移动n个像素,即可看到滚动效果,这时候当然用到var init = setTimeout()函数执行动作,停止滚动的时候就 clearInterval(init),就停止了。

这方面代码很多,一般写的很垃圾,自己明白了原理,写起来很简单,用jquery写就几行代码