【问题标题】:iOS touchmove event - changing backgroundPosition is not smoothiOS touchmove 事件 - 改变 backgroundPosition 不顺畅
【发布时间】:2013-03-30 20:26:00
【问题描述】:

我正在尝试创建简单的视差效果来改变背景位置,但在 iOS Safari 中移动并不流畅。只有当我松开触摸屏时背景才会改变它的位置,但当我滚动它时不会改变它的位置。

Javascript:

   $(window).bind('touchmove',function(e){  
        var scrolled = $(window).scrollTop();
        $('#home').css('backgroundPosition', 'center ' + (0-(scrolled*2)) +'px');
    });

它实际上不仅发生在backgroundPosition 的更改中,还发生在top 的 div 元素中:

$('#home').css('top', (scrolled*2) +'px');

但同时margin-top 工作正常,动作流畅。

我做错了什么,我怎样才能让它像鼠标滚轮事件一样在 iOS 上工作?

【问题讨论】:

    标签: jquery ios parallax touchmove


    【解决方案1】:

    当滚动或手势发生时,iOS 浏览器将冻结 DOM 操作。这是无法解决的,因为这是浏览器的问题。来自jQuery Mobile,它说:

    请注意,iOS 设备在滚动、排队期间冻结 DOM 操作 它们在滚动完成时应用。

    【讨论】:

      猜你喜欢
      • 2016-08-23
      • 2014-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多