javascriptで視差効果を使用していますが、iPadで問題が発生しています。
「$(window).scroll」がWebkit touch devidesでトリガーされないことはわかっていますが、画面を離したときのみです。そのため、次を使用しています。
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が上または下に数ピクセルちらつくことです。
$(element).css('top'、initialTop-(scrollTop * speed));に渡されたTOP値を追跡しました。そしてそれは毎回正しいです。正しい「TOP」値。ただし、Webkitはそれを数ミリ秒の間間違った位置に移動します。
私も試しました:-「top」ではなく「margin-top」で違いはありません。-他のすべてのオブジェクトを削除し、「。each」を1つのdivのみでループさせるので、jQueryのパフォーマンスの問題ではないと思います。
誰かがこの問題に遭遇しましたか?
ディエゴに感謝します