2013-03-24 3 views
4

Я пытаюсь создать простой эффект параллакса, изменяя заднее положение, но движение не является гладким в iOS Safari. Фон меняет свое положение только тогда, когда я выпускаю сенсорный экран, но не когда я его прокручиваю.iOS touchmove event - change backgroundPosition не является гладким

Javascript:

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

Это на самом деле происходит не только с chnaging backgroundPosition, но и с top для сНа элемента:

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

, но в то же время margin-top работает отлично, и движение является гладким ,

Что я делаю неправильно и как я могу заставить его работать для iOS так же, как и в случае с mousewheel?

ответ

1

Браузер iOS заморозит манипуляции с DOM при прокрутке или жесте. Это не может быть исправлено, потому что это проблема браузера. Из jQuery Mobile, он сказал:

Обратите внимание, что IOS устройство замораживания манипуляции DOM во время прокрутки, очереди их применять, когда заканчивается прокрутка.

Смежные вопросы