ScrollTop not working in Firefox
I'm trying to simulate smooth scrolling between panels and add an active state to links when the top of the panel reaches the top of the viewport. Everything was going great until I tested in Firefox. Scrolling between panels is jagged, and the active state is added to the wrong link at times. Here's my code:
$(document).ready(function () { $(window).scroll(function () { var y = $(this).scrollTop(); $('.link').each(function (event) { if (y >= $($(this).attr('href')).offset().top - 0) { $('.link').not(this).removeClass('active'); $(this).addClass('active'); } }); }); }); // SMOOTH SCROLLING $(function () { $('a[href*=#]:not([href=#])').click(function () { if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) { var target = $(this.hash); target = target.length ? target : $('[name=' + this.hash.slice(1) + ']'); if (target.length) { $('html,body').animate({ scrollTop: (target.offset().top - 0) }, 850); return false; } } }); });
Also you can see the page I'm working on here: http://zebron.github.io/
Endret
All Replies (6)
This forum focuses more on end-user support, so might not be the best place to get an answer on this. You can find more web development help on the unofficial mozillaZine Web Development board. It's a separate site with separate registration. For best results, please note the tips in the Sticky Post at the top of the forum before posting.
By the way, I'm getting lots of scrolling as I click the years, but at some point, there is an issue with accuracy: I get scrolled to one year earlier than I chose. Not sure if you are seeing that.
Oh, that was your second point. I just didn't understand the reference.
Endret
Thanks jscher. I've posted to Stack Overflow and did see plenty of technical questions answered here previously so I assumed that was one of the purposes of this forum.
Well, we often comment on website issues, I'm just saying don't hold your breath. ;-)
By the way, does your Firefox have hardware acceleration active? You can confirm by checking the "GPU Accelerated Windows" count on the support information page (either):
- "3-bar" menu button > "?" button > Troubleshooting Information
- (menu bar) Help > Troubleshooting Information
- type or paste about:support in the address bar and press Enter
This is what that interface says: 1/1 OpenGL (OMTC)
Yes, hardware acceleration is active. Thanks.