мерцание параллакса iPad - PullRequest
       10

мерцание параллакса iPad

1 голос
/ 07 марта 2012

Я использую эффект параллакса с javascript, но у меня проблемы с iPad.

Я знаю, что "$ (window) .scroll" не запускается при отклонении касания webkit - только когда мы отпускаем экран - поэтому я использую:

window.addEventListener("touchmove", triggerScroll, false);

function triggerScroll(event)
{       
var scrollTop = $(window).scrollTop();//event.touches[0].pageY; //window.pageYOffset();


$("#allCanvas .divCanvas").each(function(index, element) {
    var speed = $(element).data('speed');
    var initialTop = $(element).data('initialtop');     
    $(element).css('top', initialTop-(scrollTop*speed));

});

}

Проблема в том, что он переворачивает .divCancas на несколько пикселей вверх или вниз в зависимости от того, прокручиваю я вверх или вниз.

Я отслеживал значение TOP, переданное в $ (element) .css ('top', initialTop- (scrollTop * speed)); и это каждый раз правильно. Правильное значение «TOP», даже если webkit переместит его на несколько миллисекунд в неправильную позицию.

Я пробовал также: - «наверху», а не «сверху» без разницы. -Удаление всех других объектов и создание цикла «.each» только через один div, так что я думаю, это не проблема производительности jQuery.

Кто-нибудь сталкивался с этой проблемой?

Большое спасибо Diego

1 Ответ

0 голосов
/ 03 мая 2012

Возможно, попробуйте использовать некоторые функции анимации -webkit css ... они работают очень гладко на устройствах iOS.Вот отличная демонстрация этого (только webkit): http://jibjub.com/demo/HTML5/cube.html

...