Alvaro
Alvaro

Reputation: 41595

$(window).scroll(function() not working on firefox?

In order to load pages as facebook or twitter does at their sites, scrolling down, i have tried this with jquery:

$(window).scroll(function(){
    if  ($(window).scrollTop() == $(document).height() - $(window).height()){
        //do something
    }
}

And i am having troubles with Firefox. Not with Chrome and either with Safari (IE not tested yet).

If i use an "alert('xx')" inside the IF, Firefox crashes and i have to restart it.

I am using the Mac version of Firefox but i guess that's not an important fact.

Anyone have any idea about what's happening here? Thanks.

Upvotes: 7

Views: 26273

Answers (4)

jasper_prikr
jasper_prikr

Reputation: 41

I know this is an really old article, but i was struggling with this today. I was trying to active an counter when it came into my viewport. It stopped working after i added some style to my style.css.

  html { 
    scroll-behaviour: smooth
  }

So, may this be in you favour, adding this will cause $(window).scroll function stop working on firefox and IE.

Upvotes: 4

Devaroop
Devaroop

Reputation: 8023

I have the same problem: it works in chrome but not in firefox and IE. After debugging i found that there is a 1 px difference between $(document).height() - $(window).height() and $(window).scrollTop() in firefox but not in chrome. My working solution here:

    if  ($(window).scrollTop() + 1 >= $(document).height() - $(window).height()){

      //do something here

    }

Upvotes: 8

Jenn
Jenn

Reputation: 3513

I had a similar problem occurring because I had put a Firebug breakpoint inside the scroll handler, not an alert(). I instead used a console.log() for debugging, and that did not cause crashing.

Upvotes: 0

Jasper
Jasper

Reputation: 75993

The scroll event is firing so many times that your Firefox browser is crashing. Instead of using alert(), use console.log()...

Here is a demo to show how many events are fired: http://jsfiddle.net/jasper/tQmRU/

Upvotes: 2

Related Questions