Я использую -webkit-overflow-scrolling: touch, чтобы сделать div с переполнением: прокрутка; прокручивайте плавно через события касания iOS.
Он работает блестяще, за исключением того, что он не обновляет element.scrollTop или element.scrollLeft во время прокрутки. Он только обновляет element.scrollTop/запускает событие прокрутки, когда импульс заканчивается и он останавливается.
Кто-нибудь знает способ узнать свою текущую позицию прокрутки и если есть событие, которое я могу слушать? Я задавался вопросом, можно ли его найти через свойство CSS3? Благодаря
Пример ниже показывает две попытки:
<!DOCTYPE html>
<body>
<div id="display_a">Scroll is: 0</div>
<div id="display_b">Scroll is: 0</div>
<div id="element" style="width:800px;overflow-x:scroll;-webkit-overflow-scrolling:touch;">
<div style="font-size:100px;width:1850px;">
a b c d e f g h i j k l m n o p q r s t u v w x y z
</div>
</div>
<script>
var e = document.getElementById("element");
var display_a = document.getElementById("display_a");
var display_b = document.getElementById("display_b");
e.addEventListener("scroll",function(event){display_a.innerHTML = "Scroll is: " + event.target.scrollLeft;});
setInterval(function(){display_b.innerHTML = "Scroll is: " + e.scrollLeft;},100);
</script>
</body>
</html>
============ UPDATE ============
iOS 8 отсортировал это поведение. События прокрутки теперь запускаются при прокрутке.
Обратите внимание, что теперь вам придется иметь дело с отрицательными значениями прокрутки во время прокрутки отскока.