Ich erstellen einen Scroll-Effekt mit JQuery und ich frage mich, ob es möglich ist, zwischen dem Benutzer Scrollen vs programmgesteuertem Scrollen zu unterscheiden.Unterscheidung zwischen dem Benutzer Scrollen und programmgesteuert Scrollen mit Hilfe von Javascript
Ich habe so etwas wie dies:
$('#element').on('scroll',function(e){
$('#element').stop(true); // stop previous scrolling animation
$('#element').animate({ // start new scrolling animation (maybe different speed, different direction, etc)
scrollTop:...
});
});
jedoch dieses Ereignis bei jedem Schritt der Animation ausgelöst wird. Wie kann ich feststellen, ob dieses Ereignis vom Benutzer oder von der Animation ausgelöst wurde?
Sie suchen [event.originalEvent] (https://github.com/jquery/api.jquery.com/issues/319), siehe [Ereignisobjekt Dokumentation] (https://api.jquery.com/category/events/event-object/) unter ** Andere Eigenschaften ** und diese [Geige] (http://jsfiddle.net/xdv5mgua/) für ein Beispiel. –
http://stackoverflow.com/questions/1659204/call-scroll-only-when-user-scrolls-not-when-animate/1659231#1659231 – FuzzyTree
Sie könnten versuchen, es mit dem "Rad" -Ereignis zu unterscheiden. Ein Benutzer kann sowohl 'rad'- als auch' scroll'-Ereignisse auslösen, während jQuery wahrscheinlich nur das 'scroll'-Ereignis auslöst. – Xufox