0

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

0 回答 0