Sto usando -webkit-overflow-scrolling: toccare per creare un div con overflow: scroll; scorrere senza problemi attraverso gli eventi touch di iOS.Posizione di scorrimento corrente quando si usa -webkit-overflow-scrolling: touch - Safari javascript evento (scrollTop/scrollLeft)
Funziona brillantemente, tranne che non sembra aggiornare element.scrollTop o element.scrollLeft mentre scorre. Aggiorna solo element.scrollTop/innesca un evento di scorrimento quando la quantità di moto si esaurisce e si ferma.
Qualcuno sa di un modo per scoprire la sua attuale posizione di scorrimento e se c'è un evento che posso ascoltare? Mi sono chiesto se può essere trovato attraverso una proprietà CSS3, forse? Grazie
Esempio basso con due tentativi:
<!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 ha ordinato questo comportamento. Gli eventi di scorrimento ora vengono attivati durante lo scorrimento.
Nota che ora dovrai gestire i valori di scorrimento negativi durante lo scorrimento di rimbalzo.
Volevo solo dire un grande ringraziamento a tutti coloro che hanno contribuito finora, temo che non troveremo una soluzione perfetta ma ci sono alcuni buoni suggerimenti di seguito. –
Il problema esiste ancora sui browser di terze parti su iOS> 8.x – Thomas
Gli eventi di scorrimento non vengono attivati nelle app Web di casa o UIWebView – MachineElf