我有一个 iOS 网络应用程序,它被证明在滚动方面非常困难!我解决问题的方法是使用 iScroll 4。但是,当我将手指从屏幕上移开时,滚动部分似乎又回到了原来的位置。
有人对为什么会这样以及如何解决有任何想法吗?
剧本:
<script>
var myScroll;
function loaded() {
myScroll = new iScroll('wrapper');
}
document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
/* * * * * * * *
*
* Use this for high compatibility (iDevice + Android)
*
*/
document.addEventListener('DOMContentLoaded', function () { setTimeout(loaded, 200); }, false)
</script>
的HTML:
<div id="wrapper"
style="position:absolute;
width:600px;
overflow:auto;
height: 500px;">
<div id="scroll-content"
style="position:absolute;
width:600px;
padding:0;
height: 500px;">
// The text that needs to be scrolled
</div>
</div>
更新:以下声明应通过更改 iScroll 的加载方式来修复橡皮筋效应等奇怪行为。我已经按照说明更改了加载,但是当我放手时,我仍然得到橡皮筋将滚动区域ping回顶部。
有时 DOMContentLoaded 有点仓促,当内容未准备好时会被触发。如果您陷入一些奇怪的行为(例如:橡皮筋效应),请尝试以下操作:
<script type="application/javascript" src="iscroll.js"></script>
<script type="text/javascript"> var myScroll; function loaded() {
setTimeout(function () { myScroll = new iScroll('wrapper'); },
100); } window.addEventListener('load', loaded, false); </script>