我有一排固定的指示器(滑块指示器),当它到达底部时,它应该位于页脚的顶部。在桌面上一切正常,我知道在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' });
}
}