javascript 锁定页面滚动
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 锁定页面滚动相关的知识,希望对你有一定的参考价值。
/**
* Lock page scroll.
*
* Locks the page scroll so mobile menu takes over full screen and
* user only scrolls through navigation menu.
*/
function pageScrollLock() {
var scrollPosition = [
self.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft,
self.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
];
var html = jQuery('html');
html.data('scroll-position', scrollPosition);
html.data('previous-overflow', '');
html.css('overflow', 'hidden');
html.addClass('scroll-locked');
window.scrollTo(scrollPosition[1], scrollPosition[2]);
}
/**
* Unlock page scroll.
*/
function pageScrollUnlock() {
var html = jQuery('html');
var scrollPosition = html.data('scroll-position');
html.css('overflow', html.data('previous-overflow'));
html.removeClass('scroll-locked');
window.scrollTo(scrollPosition[1], scrollPosition[2]);
}
/**
* Change scroll lock state.
*/
function pageScrollState() {
if ($('html').hasClass('scroll-locked')) {
pageScrollUnlock();
}
else {
pageScrollLock();
}
}
以上是关于javascript 锁定页面滚动的主要内容,如果未能解决你的问题,请参考以下文章
iOS页面控制滚动锁定
滚动时如何锁定表格的第一行和第一列,可能使用 JavaScript 和 CSS?
html 使用“锁定”正文覆盖滚动的示例页面
滚动锁定 scroll lock 键有什么用?
锁定正文滚动,阻止目标元素滚动
jsp页面表头锁定的问题