我有一排固定的指示器(滑块指示器),当它到达底部边界时,它应该位于页脚的顶部。在桌面上一切正常,我知道在 iOS 上滚动会冻结 DOM 操作。
所以我尝试使用 on('touchmove') 事件,它做得不错,但是当用户在 iOS 上向上滚动页面时,将网站本身向上移动(并显示空白/灰色/背景),固定元素移动它也是。
我正在尝试禁用此功能,并且通常可以将触摸事件关闭('touch'),但是我将如何重新绑定它,以便 DOM 操作在用户滚动时起作用?
这就是我的代码:
$(window).on('touchmove',moveIndicators);
$(window).scroll(moveIndicators);
function moveIndicators() {
var d = $(document).height(),
w = $(window).height(),
s = $(this).scrollTop(),
bottomBound = (navigator.userAgent.match(/(iPhone);.*CPU.*OS 7_\d/i)) ? 119 : 50;
$location = $('.location-nav');
if(d - (w + s) <= bottomBound) {
$location.css({ bottom: bottomBound - (d - (w + s)), 'margin-bottom': '0px' });
} else {
$location.css({ bottom: 0, 'margin-bottom': '0px' });
}
}