How to make an event after 1 second wait after scroll on jquery

In jQuery, you can trigger an event after a 1-second delay following the end of a scroll by using setTimeout and clearTimeout to manage the delay. Here’s an example code that demonstrates this process:

$(document).ready(function() {
    var timeout;

    $(window).on('scroll', function() {
        // Clear the previous timeout if it exists
        clearTimeout(timeout);

        // Set a new timeout for 1 second
        timeout = setTimeout(function() {
            // Your code to be executed 1 second after scrolling ends
            console.log('Scroll ended, 1 second has passed.');
        }, 1000);
    });
});

Explanation of the code:

  1. $(document).ready(function() { ... });: Ensures that the code runs after the DOM is fully loaded.
  2. var timeout;: Declares a variable to store the timeout ID.
  3. $(window).on('scroll', function() { ... });: Attaches a scroll event handler to the window.
  4. clearTimeout(timeout);: Clears the previous timeout if it exists to prevent executing the code if scrolling continues.
  5. timeout = setTimeout(function() { ... }, 1000);: Sets a new timeout for 1 second, which will execute your code once scrolling has stopped for 1 second.

This approach ensures that the code is executed only after the user has stopped scrolling for 1 second.

How useful is the publication?

Click on a star to rate it!

Average score 5 / 5. Number of grades: 1

No ratings yet. Rate it first.

Similar posts

How to exclude posts with parent post in wp_query, WordPress

To exclude posts that have a parent (i.e., child posts) in a WP_Query request, you can use the post_parent argument. This argument controls whether the post has a parent or not. To exclude child posts, set the condition post_parent => 0, which means that only top-level posts (posts without a parent) will be included in…
Read more