Ce site disposera de fonctionnalités limitées pendant que nous effectuons des opérations de maintenance en vue de vous proposer un meilleur service. Si un article ne règle pas votre problème et que vous souhaitez poser une question, notre communauté d’assistance est prête à vous répondre via @FirefoxSupport sur Twitter, et /r/firefox sur Reddit.

Rechercher dans l’assistance

Évitez les escroqueries à l’assistance. Nous ne vous demanderons jamais d’appeler ou d’envoyer un SMS à un numéro de téléphone ou de partager des informations personnelles. Veuillez signaler toute activité suspecte en utilisant l’option « Signaler un abus ».

En savoir plus

Scrollbar (unpredictably) stops working on PC

  • 21 réponses
  • 1 a ce problème
  • 26 vues
  • Dernière réponse par FredMcD

more options

I'm seeing a really weird issue - https://rs2018.raffworks.com/ - on Firefox PC only, after opening a couple of the items up, the scrollbar completely stops working. Sometimes one item, sometimes three or four. But then bang! the scrollbar just locks up completely and it's impossible to scroll the page.

Has anyone experienced anything like this? Firefox on macOS is fine.

I'm seeing a really weird issue - https://rs2018.raffworks.com/ - on Firefox PC only, after opening a couple of the items up, the scrollbar completely stops working. Sometimes one item, sometimes three or four. But then bang! the scrollbar just locks up completely and it's impossible to scroll the page. Has anyone experienced anything like this? Firefox on macOS is fine.

Solution choisie

OK - solved.

window.pageYOffset position on Firefox on my hybrid PC is being calculated as a double number, rather than an integer. This is known behaviour but I didn't know about it ;)

https://www.fxsitecompat.com/en-CA/docs/2017/scrollx-scrolly-pagexoffset-pageyoffset-now-return-double-instead-of-integer/

So when running a polyfill for window.scrollTo with "behaviour" set to "smooth" (which doesn't work on a number of browsers), the destination was sometimes not fully reached.

Say it was trying to scrollTo 635px - it would get to 634.9999991 - but as I was using strict equality checking ===, it never saw the loop as finished. Thus any attempt to manually scroll was overridden by the scrollTo loop.

Simply comparing the destination and current positions using Math.ceil has solved it.

Painful, but at least resolved. Much appreciate your help @FredMcD

Lire cette réponse dans son contexte 👍 0

Toutes les réponses (1)

more options

That was very good work. Well done.

  1. 1
  2. 2