使用jQuery,我想禁用主体的滚动:
我的想法是:
body{ overflow: hidden;}
scrollTop();/scrollLeft()
有没有更好的办法?
更新:
我知道有人会在想“为什么他不只是position: fixed在面板上使用?”。
position: fixed
请不要提出这个建议,因为我还有其他原因。
我发现执行此操作的唯一方法与您所描述的类似:
然后,当您准备允许再次滚动时,请撤消所有操作。
编辑:自从我费劲去挖掘它以来,没有理由我不能给你代码…
// lock scroll position, but retain settings for later var scrollPosition = [ self.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft, self.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop ]; var html = jQuery('html'); // it would make more sense to apply this to body, but IE7 won't have that html.data('scroll-position', scrollPosition); html.data('previous-overflow', html.css('overflow')); html.css('overflow', 'hidden'); window.scrollTo(scrollPosition[0], scrollPosition[1]); // un-lock scroll position var html = jQuery('html'); var scrollPosition = html.data('scroll-position'); html.css('overflow', html.data('previous-overflow')); window.scrollTo(scrollPosition[0], scrollPosition[1])