Problem gelöst: auf Kind Element hinzufügen Ereignis-Listenern onTouchStart, onTouchMove, dann:
touch_start(e){ this.startY = e.touches[0].clientY; }
touch_move(e){ let parent_scroll = document.getElementsByClassName('parent')[0].scrollTop; if(e.touches[0].clientY > this.startY){ document.getElementsByClassName('parent')[0].scrollTop = parent_scroll - Math.abs(e.touches[0].clientY - this.startY); }else{ document.getElementsByClassName('parent')[0].scrollTop = parent_scroll + Math.abs(e.touches[0].clientY - this.startY); } this.startY = e.touches[0].clientY; }
Auch für IOS benötigt Körper zu verhindern prallt, so in CSS:
html, body{ position: fixed; overflow: hidden; }
Und für faulen Scroll für jedes Scrollen Element CSS hinzufügen:
-webkit-overflow-scrolling: touch;
PROFIT
! Vielleicht wird diese Lösung jemandem helfen.
Ich habe ein ähnliches Verhalten gemacht und diese http://iscrolljs.com/ wie ein Zauber für mich gearbeitet verwendet – axrami