简体   繁体   中英

javascript doesn't work in firefox

JavaScript:

$(window).scroll(function(){
    if  ($(window).scrollTop() == $(document).height() - $(window).height()){
        $('#footer').show();
    }
});

CSS:

#footer {
    display: none;
}

This is supposed to reveal a hidden div at the bottom of a page when scrolled all of the way down to the bottom. For some reason, the hidden div never gets shown in Firefox. Is there another method using jQuery to create the same effect?

EDIT: Here's the page where it's not working correctly in Firefox

http://safe.tumblr.com/theme/preview/34069

You need to be using this:

$(window).scroll(function() {
   if($(window).scrollTop() + $(window).height() == $(document).height()) {
       $('#footer').show();
   }
});

There may be a small difference between the max value for scrollTop and what documentHeight - windowHeight gives you, so I would propose to subtract a small safety factor:

$(window).scroll(function(){
    if ($(window).scrollTop() >= $(document).height() - $(window).height() - 3) {
        $('#footer').show();
    }
});

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM