Я использую эффект параллакса с 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