在使用CSS"-webkit溢出滚动:触摸"时,我无法在iOS上获得实时滚动左位置。
下面是一把小提琴:http://jsfiddle.net/WaMUq/
在桌面上滚动时,我会在滚动时获得实时的scrollLeft数据,而在iOS上,我需要等到动量滚动停止后,它才会向我发送scrollLeft数据。
我该怎么绕过这个?我正试图实时获取这些数据,以创造一种微妙的视差效果。我尝试过Stellar.js和Scrollability.js,它们都遇到了等待滚动停止的相同问题。
这里它与鼠标配合使用:http://jsfiddle.net/Kirrr/WaMUq/3/
对于触摸:
在JS中:
$('div.wrap').scroll(function(e){
$('h4').html( $(this).scrollLeft() );
});
var start_x, wrap_x;
$('div.wrap').bind("touchstart", function(e) {
e.preventDefault(); // optional. May be it works fine without this
start_x = e.originalEvent.changedTouches[0].pageX;
wrap_x = $(this).scrollLeft();
})
$('div.wrap').bind("touchmove", function(e) {
e.preventDefault(); // optional. May be it works fine without this
var x = e.originalEvent.changedTouches[0].pageX;
var result = wrap_x + start_x - x;
$(this).scrollLeft(result);
})
对于触摸,可能需要删除"-webkit溢出滚动:触摸;"