Function is not only calling once

Viewed 65

I am trying to execute only once, but it is executing multiple times.

I am showing alert when user reaches the 90% of the page while scrolling. But it is showing the alert multiple times.

I have also tried:

  • By turning statement to true after executed.

But it didn't work

File page.html

var percent = 90;
var window_scrolled;

$(window).scroll(function() {
    window_scrolled = ($(document).height()/100)*90;

    if($(window).scrollTop() + $(window).height() >= window_scrolled) {
        var excuted = false
        if (!excuted) {
            alert("scrolled to bottom");
            excuted = true
        }
    }
});
1 Answers

You are always setting the excuted to false each time, so it always runs.

Try this:

var excuted = false
$(window).scroll(function() {
    window_scrolled = ($(document).height()/100)*90;
    if($(window).scrollTop() + $(window).height() >= window_scrolled) {
        if (!excuted) {
            alert("scrolled to bottom");
            excuted = true
        }
    }
});
Related