ScrollFix
Small script to fix some of the issues with iOS5's overflow:scroll;
Install / Use
/learn @joelambert/ScrollFixREADME
ScrollFix
ScrollFix is a small script that partially works around the most common issue with using iOS5's overflow: scroll for fullscreen web apps.
The newly support overflow:scroll is a great addition and works well except under the following conditions:
- The scroll area is at the top and the user tries to scroll up
- The scroll area is at the bottom and the user tries to scroll down.
In a native app, you'd expect the content to rubber band but in Safari the whole page is scrolled instead. Under occasions where you've deliberately hidden the browser chrome, this interaction can bring it back into view.
ScrollFix works around this by manually offsetting the scrollTop value to one away from the limit at either extreme, which causes the browser to use rubber banding rather than passing the event up the DOM tree.
How to use
Setup a scrollable section:
<div class="scrollable" id="scrollable">
<ul>
<li>List Item</li>
<li>List Item</li>
<li>List Item</li>
<li>List Item</li>
<li>List Item</li>
<li>List Item</li>
</ul>
</div>
Then call the following code on the area that has the overflow: scroll property:
var scrollable = document.getElementById("scrollable");
new ScrollFix(scrollable);
Known Issues
ScrollFix doesn't prevent the page from being scrolled when if a touch is registered whilst the scrolling section is bouncing (rubber banding). This is an issue I don't think can be worked around with the current implementation of iOS5's overflow: scroll.
This ticket better explains the issue, Apple are aware of the problem (thanks to Matteo Spinelli), hopefully this will be resolved in iOS 5.1.
License
ScrollFix is Copyright © 2011-2013 Joe Lambert and is licensed under the terms of the MIT License.
Related Skills
node-connect
347.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
108.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
347.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
347.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
