ค้นหาฝ่ายสนับสนุน

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

เรียนรู้เพิ่มเติม

Scrollbar (unpredictably) stops working on PC

  • 21 การตอบกลับ
  • 1 คนมีปัญหานี้
  • 8 ครั้งที่ดู
  • ตอบกลับล่าสุดโดย 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.

วิธีแก้ปัญหาที่เลือก

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

อ่านคำตอบนี้ในบริบท 👍 0

การตอบกลับทั้งหมด (1)

more options

That was very good work. Well done.

  1. 1
  2. 2