Heim >Web-Frontend >js-Tutorial >Wie kann ich das Scrollen während jQuery scrollTo-Animationen vorübergehend deaktivieren?
Vorübergehendes Deaktivieren des Scrollens während der jQuery scrollTo-Animation
Bei Verwendung des scrollTo-Plugins von jQuery kann das Scrollen die Glätte der Animation beeinträchtigen. Während Sie die Bildlaufleiste einfach ausblenden könnten, ist es eine bessere Lösung, das Scrollen vorübergehend zu deaktivieren, ohne seine Sichtbarkeit zu beeinträchtigen.
Lösung
Anstatt nur auf das Scroll-Ereignis abzuzielen, Der Schlüssel besteht darin, auch damit verbundene Interaktionsereignisse wie Maus-, Berührungs- und Tasten-Scrolls abzubrechen. Hier ist ein Skript, das Sie verwenden können:
// Disable scrolling function disableScroll() { window.addEventListener('DOMMouseScroll', preventDefault, false); // older FF window.addEventListener(wheelEvent, preventDefault, wheelOpt); // modern desktop window.addEventListener('touchmove', preventDefault, wheelOpt); // mobile window.addEventListener('keydown', preventDefaultForScrollKeys, false); } // Enable scrolling function enableScroll() { window.removeEventListener('DOMMouseScroll', preventDefault, false); window.removeEventListener(wheelEvent, preventDefault, wheelOpt); window.removeEventListener('touchmove', preventDefault, wheelOpt); window.removeEventListener('keydown', preventDefaultForScrollKeys, false); }
Jetzt können Sie das Scrollen deaktivieren, indem Sie „disableScroll()“ aufrufen und es bei Bedarf mit „enableScroll()“ wieder aktivieren.
Das obige ist der detaillierte Inhalt vonWie kann ich das Scrollen während jQuery scrollTo-Animationen vorübergehend deaktivieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!