3 回答
TA贡献1827条经验 获得超8个赞
我发现做这件事的唯一方法与你所描述的相似:
抓取当前滚动位置(不要忘记水平轴!)
将溢出设置为隐藏(可能希望保留以前的溢出值)。
将文档滚动到已存储的滚动位置,并使用SCROLLTO()。
当你准备再次允许滚动时,撤销所有这些。
编辑:没有理由我不能给你代码,因为我费尽心思去挖掘它.
// 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])
TA贡献1757条经验 获得超7个赞
$('#element').on('scroll touchmove mousewheel', function(e){
e.preventDefault();
e.stopPropagation();
return false;})- 3 回答
- 0 关注
- 437 浏览
相关问题推荐
添加回答
举报
