Ich möchte versuchen, und replizieren io7 Safari-Funktion, wo die URL und Navigationsleisten minimieren, wenn Sie langsam scrollen, in Javascript/jquery. Das erste Ding ist, Rollengeschwindigkeit zu ermitteln, ich habe this Frage bereits gesehen, aber ich tue dies in einem Inhaltsskript, also habe ich nicht notwendigerweise das obere und untere Element, das sie benutzen. Gibt es eine andere Möglichkeit, die Scroll-Geschwindigkeit zu erkennen?Wie erkennt man die Scrollgeschwindigkeit mit Jquery?
Antwort
Sie können das Scroll-Ereignis über jQuery anhängen und eine Kombination aus Zeitstempeln und scrollOffset verwenden, um die Scrollgeschwindigkeit zu bestimmen, indem Sie den Versatz/Zeitpunkt mit dem letzten Scroll-Ereignis vergleichen. Etwas wie folgt aus:
var lastOffset = $(mySelector).scrollTop();
var lastDate = new Date().getTime();
$(mySelector).scroll(function(e) {
var delayInMs = e.timeStamp - lastDate;
var offset = e.target.scrollTop - lastOffset;
var speedInpxPerMs = offset/delayInMs;
console.log(speedInpxPerMs);
lastDate = e.timeStamp;
lastOffset = e.target.scrollTop;
});
Anyways, da Sie die Kontrolle über Navigationsleiste nicht in einem regulären Browser habe ich den Punkt nicht hier sehen:/
Mai werden Sie für so etwas suchen: Parallax scroll with sticky header
GL Chris
ich versuchte cschuff
s Antwort zu verwenden, aber etwas falsch war. Mit diesem Problem und die Freude, eine Klasse zu schreiben, habe ich einfach den Code in einer kleinen Klasse, erhalten sie hier: https://github.com/SocialbitGmbH/JavascriptScrollSpeedMonitor
Die Verwendung ist einfach:
var scrollSpeedMonitor = new ScrollSpeedMonitor(function (speedInPxPerMs, timeStamp, newDirection)
{
console.log('Scroll speed: ' + speedInPxPerMs);
});
Darüber hinaus gibt es einen StarScroller, um zu erkennen, wenn der Benutzer in Lichtgeschwindigkeit scrollt, um einige schöne "Lichtgeschwindigkeitseffekte" hinzuzufügen :-) https://github.com/SocialbitGmbH/JavascriptStarScroller –
fehlt Ihnen ein schließendes ')' Klammer. –
Danke, fügte es hinzu! :-) –
- 1. Wie erkennt man die Seite mit jquery aktualisiert?
- 2. GridView Scrollgeschwindigkeit erkennen - Android
- 3. Wie erkennt man neue Elemente in jQuery?
- 4. Wie erkennt man einen Linkklick mit benutzerdefinierten Attributen mit jQuery?
- 5. Wie erkennt man die Zugangskontrollmaschine?
- 6. Wie kann ich die Scrollgeschwindigkeit erhöhen?
- 7. Wie erkennt man externe js-Datei wird bereits mit jquery
- 8. ScrollView Scrollen mit Scrollgeschwindigkeit ändern?
- 9. Wie erkennt man die Bootstrap-Version?
- 10. Wie erkennt man die Unendlichkeitswerte in Scala?
- 11. Wie erkennt man die Wischrichtung in Libgdx?
- 12. Wie erkennt man die Bildschirmauflösung ohne JavaScript?
- 13. Wie erkennt man die Kopfhörer-Taste?
- 14. Wie erkennt man die OSX-Admin-Passwortabfrage?
- 15. Wie erkennt man die Position des Klicks?
- 16. Apple Watch: Wie erkennt man die Bildschirmgröße?
- 17. Wie erkennt man die JavaScript-Methode (Funktion)
- 18. Wie erkennt man Anwendungsabstürze?
- 19. Wie erkennt man die IIS-Version mit C#?
- 20. Wie erkennt man die Mac OS Version mit Python?
- 21. Wie erkennt man die Bluetooth-Statusänderung mit einem Rundfunkempfänger?
- 22. Wie erkennt man die Existenz einer Klasse mit SFINAE?
- 23. Wie man die Anzahl der Bilder erkennt, wurde mit Intent.ACTION_OPEN_DOCUMENT
- 24. Wie erkennt man Farbkombinationen mit Python?
- 25. Wie erkennt man YTPlayerState.Ended mit Swift?
- 26. Wie erkennt man Geräteausrichtung mit JavaScript?
- 27. Wie erhöhe ich die langsame Scrollgeschwindigkeit auf einem JScrollPane?
- 28. Wie erkennt man Signedness mit einem Makro?
- 29. Wie erkennt man eine Browser-Bildschirmbreite, die über einen bestimmten Punkt hinaus mit jQuery steigt?
- 30. Wie erkennt man CMYK-Bilder mit C#
Ich versuche, die Wirkung des nav zu imitieren Bar. Ich verwende ein Inhaltsskript in einer Chrome-Erweiterung, um ein Overlay zu erstellen, und wenn der Benutzer schnell nach unten scrollt, möchte ich, dass das Overlay schrumpft und aus dem Weg geht. – EasilyBaffled
Nun das obige Skript wird Ihnen helfen, den "schnellen" Teil zu bestimmen. Je nach Scroll-Offset können Sie die Größe Ihres Overlays reduzieren Definieren Sie einen Punkt, wo Sie es verstecken können. Was fehlt dir? – cschuff
Nun habe ich das Fenster in den mySelector-Spot platziert und ich bekomme NaN für speedInpxPerMs. Ich habe eingeschränkten Zugriff auf die Seite, weil dies ein Inhaltsskript ist, so dass möglicherweise ein Teil des Problems. – EasilyBaffled