Tìm kiếm hỗ trợ

Tránh các lừa đảo về hỗ trợ. Chúng tôi sẽ không bao giờ yêu cầu bạn gọi hoặc nhắn tin đến số điện thoại hoặc chia sẻ thông tin cá nhân. Vui lòng báo cáo hoạt động đáng ngờ bằng cách sử dụng tùy chọn "Báo cáo lạm dụng".

Tìm hiểu thêm

Scrollbar (unpredictably) stops working on PC

  • 21 trả lời
  • 1 gặp vấn đề này
  • 26 lượt xem
  • Trả lời mới nhất được viết bởi 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.

Giải pháp được chọn

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

Đọc câu trả lời này trong ngữ cảnh 👍 0

Tất cả các câu trả lời (1)

more options

That was very good work. Well done.

  1. 1
  2. 2