iOS touchmove事件-改变背景位置不平滑



我试图创建简单的视差效果改变背景位置,但在iOS Safari中移动不流畅。背景只有在我释放触摸屏时才会改变位置,但在我滚动它时不会。

Javascript:

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

对于div元素,不仅改变了backgroundPosition,也改变了top:

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

,但同时margin-top工作良好,运动平稳。

我做错了什么,我怎么能使它的工作在iOS的鼠标滚轮事件相同的方式?

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

请注意,iOS设备在滚动、排队期间冻结DOM操作当滚动结束时应用

最新更新