Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Capturing the "scroll down" event?

I'm designing a very simple web page (HTML only), the only "feature" I want to implement is to do something when the user scrolls down the page, is there a way to capture that "event" somehow?

like image 644
Artemix Avatar asked Jan 12 '11 15:01

Artemix


People also ask

What are scroll events?

The onscroll event occurs when an element's scrollbar is being scrolled. Tip: use the CSS overflow style property to create a scrollbar for an element.

How do you scroll up and down in JavaScript?

The JavaScriptExecutor provides an interface that enables QAs to run JavaScript methods from Selenium scripts. Hence, to scroll up or down with Selenium, a JavaScriptExecutor is a must. The scrollBy() method involves two parameters, x, and y, that represent the horizontal and vertical pixel values, respectively.


2 Answers

If you don't want to use jQuery (which you might not do for a very simple HTML page), you can accomplish this using regular Javascript:

<script> function scrollFunction() {     // do your stuff here; }  window.onscroll = scrollFunction; </script> 

You mentioned that you wanted to do something when they scroll down the page - the onscroll event fires off scrolling in any direction, in either the x- or y-axis, so your function will be called any time they scroll.

If you really want it to only run your code when they scrolled down the page, you'd need to preserve the previous scroll position to compare against whenever onscroll gets called.

like image 52
Anthony Grist Avatar answered Oct 15 '22 01:10

Anthony Grist


A better way is to not only check for scroll events but also for direction scrolling like below;

$(window).bind('mousewheel', function(event) { if (event.originalEvent.wheelDelta >= 0) {     console.log('Scroll up'); } else {     console.log('Scroll down'); } }); 
like image 29
Joe Ng'ethe Avatar answered Oct 15 '22 01:10

Joe Ng'ethe