Wie erkenne ich, ob ein Benutzer mit jQuery nach unten scrollt? Ich möchte ein festes div nur anzeigen, wenn der Browser innerhalb von 300px von der Spitze ist. Wenn der Benutzer die 300px-Markierung nach unten scrollt, sollte er verschwinden. Wenn der Benutzer zurück zum Anfang scrollt, sollte er sich verstecken. Wie mache ich das?Tag nur anzeigen, wenn Seite oben gescrollt wird
Antwort
einen Scroll-Hörer an das Fenster Attach: http://docs.jquery.com/Events/scroll
dann die scrollTop des Fensters überprüfen: http://docs.jquery.com/CSS
Wenn scrollTop ist kleiner als 300, show() das div, ansonsten hide() es.
Beachten Sie, dass scrollTOP NICHT über Browser hinweg funktioniert. Sie wollen 'window.scrollY' für diesen Test. –
var docElem = $(document.documentElement)
docElem.scroll(function(e) {
if(docElem.scrollTop() < 300) {
whatever.show();
} else {
whatever.hide();
}
});
Sie müssen ein anderes Element verwendet werden können (wie docElem) in verschiedenen Browsern, aber dies sollte in Firefox funktionieren. (Ich habe es nicht getestet)
EDIT: Mehr jQuery
Ich habe etwas von Ihrem Code, danke! –
Warum hast du es dann nicht akzeptiert? – SLaks
Gerade die Position scrollTop Fenster überprüfen auf dem Scroll-Ereignis, und vergleichen Sie es mit dem Element offsetTop Position:
$(window).scroll(function(e){
$el = $('.myElement');
if ($(this).scrollTop() > $el.offset().top){
$el.hide();
} else {
$el.show();
});
Führen Sie dieses Beispiel here.
- 1. wenn UITableView gescrollt hat nach oben
- 2. Wie kann ich zu einem Anker-Tag navigieren, wenn der Benutzer die Seite bereits gescrollt hat?
- 3. überprüfen, ob Element nach oben gescrollt wurde
- 4. Farbbox oben auf der Seite anzeigen
- 5. Nur Monat und Tag anzeigen
- 6. UITableView-Delegat-Aktion, wenn TableView gescrollt wird?
- 7. Bilder werden geändert, wenn UICollectionView gescrollt wird
- 8. Erkennen, wenn ListView "nach oben" oder "nach unten" gescrollt wird? Windows Phone 8.1 ListView
- 9. Tabs Titel im TabLayout scrollt nicht nach oben, wenn der Viewpager gescrollt wird
- 10. Voll Kalender blättern oben, wenn Seite geladen wird
- 11. Seite springt nach oben, wenn iframe geklickt wird
- 12. Wie wird automatisch gescrollt?
- 13. On in Html2Canvas macht, wird die Seite nach oben
- 14. Push-Benachrichtigung nur anzeigen, wenn App nicht ausgeführt wird Android
- 15. php nach erfolgreichem Login, Benutzername oben auf der Seite anzeigen?
- 16. Wie kann ich ein Element ausblenden, wenn die Seite gescrollt wird?
- 17. Körper-Scrollen verhindern, wenn ein festgelegtes Div gescrollt wird?
- 18. Coffeescript JQuery auf Klick funktioniert nur, wenn Seite aktualisiert wird
- 19. Erkennen, wenn scrollView gescrollt hat
- 20. absolut positionierte divs, die sich nicht bewegen, wenn Seite gescrollt wird
- 21. window.onbeforeunload - Nur Warnungen anzeigen, wenn das Formular nicht gesendet wird
- 22. Android: Nur Cursor im Editiertext anzeigen, wenn Tastatur angezeigt wird
- 23. Wie blende ich die übergeordnete Seite nach oben, wenn die untergeordnete Seite in iframe geklickt wird?
- 24. Wie kann man feststellen, ob ein RecyclerView/LinearLayoutManager nach oben oder unten gescrollt wird?
- 25. Wie ajax auszuführen, wenn Seite geladen wird
- 26. nur tun, wenn Tag ... Batch-Datei
- 27. Bildelement nur anzeigen, wenn Bild in Winkel vorhanden ist
- 28. , wenn das Fenster gescrollt letztes Element
- 29. RecyclerView.getChild (Index) zeigt Null, wenn die Liste gescrollt wird (Index wird durcheinander gebracht)
- 30. elementFromPoint gibt null zurück, nachdem die Seite gescrollt wurde
Setzen Sie es nicht mehr als 300px vom oberen Rand der Seite. Sie brauchen nicht einmal jQuery :-) – edeverett
Ich möchte es auf den Browser fixiert, so wenn Sie nach unten scrollen, wird es cool aussehen: D –