我正在使用-webkit-overflow-scrolling:touch使分區溢出:scroll;通過iOS touch事件平滑滾動。使用-webkit溢出滾動時的當前滾動位置:touch - Safari iOS JavaScript事件(scrollTop/scrollLeft)
它出色地工作,除了在滾動時似乎沒有更新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已經排序了這種行爲。滾動事件現在在滾動時觸發。
請注意,您現在必須在反彈滾動期間處理負向滾動值。
只是想向所有迄今爲止貢獻的人表示非常感謝,我擔心我們不會找到完美的解決方案,但下面有一些很好的建議。 – 2013-03-21 17:17:08
iOS上的第三方瀏覽器仍然存在問題> 8.x – Thomas 2015-06-14 19:18:57
滾動事件不會在主屏幕上的webapps或UIWebView中觸發 – MachineElf 2016-05-02 14:08:54