移动端使用模态框后,滑动时底层跟着滑动
var overscroll = function(el) {
el.addEventListener('touchstart', function() {
var top = el.scrollTop,
totalScroll = el.scrollHeight,
currentScroll = top + el.offsetHeight
//If we're at the top or the bottom of the containers
//scroll, push up or down one pixel.
//
//this prevents the scroll from "passing through" to
//the body.
if(top === 0) {
el.scrollTop = 1
} else if(currentScroll === totalScroll) {
el.scrollTop = top - 1
}
});
el.addEventListener('touchmove', function(evt) {
//if the content is actually scrollable, i.e. the content is long enough
//that scrolling can occur
if(el.offsetHeight < el.scrollHeight)
evt._isScroller = true
});
};
模态框显示后仅允许部分滑动
$('#modal').modal("show");//显示模态框
overscroll(document.querySelector('.lift-agreement'));//允许滚动的区域
overscroll(document.querySelector('.modal'));//允许滚动的区域
document.body.addEventListener('touchmove', function(evt) {
if(!evt._isScroller) {
evt.preventDefault()
}