For some reason, my website often refuses to scroll, but only on iPhones.
Devices/browsers that do work:
- iPad (Safari)
- Android phones (Chrome)
- PC (Chrome (including DevTools emulation) & IE11)
Devices that show the bug:
- iPhone 4S
- iPhone 5
- iPhone 6
So clearly it is iPhone related.. It's like there's a timeout on scrolling only on iPhone. I'll try to describe the bug as good as possible.
After I load the site, I have to wait like 5 seconds before I can scroll. Then I scroll down a bit. During the scrolling, the scrollbar can be seen (as normal). When the scrollbar has faded, scrolling the opposite direction is blocked for like 5 seconds. When I scroll and scroll the opposite direction before the scrollbar fades, it scrolls as expected.
Also when I want to change scrolling direction, it's like I have to swipe twice to initialize scrolling. I have to scroll, wait, scroll to actually scroll that direction.
So:
- Scroll down (scrolls), wait, scroll down (scrolls) - same direction scrolls
- Scroll up (scrolls), wait, scroll up (scrolls) - same direction scrolls
- Scroll down (scrolls), scroll up (scrolls) - changing direction before scrollbar fades
- Scroll down (scrolls), wait, scroll up (nothing) - changing direction
- Scroll down (scrolls), wait, scroll up (nothing), wait, scroll up (scrolls) - changing direction, have to scroll and wait twice
At wait
, I wait like 3 seconds. If I don't wait long enough when scrolling the opposite direction, it just doesn't scroll.
The website uses MeteorJS and jQuery. I've tried some mobile-utility scripts, like iScroll and FastClick, but they don't seem to help.