在重新加载页面之前,iScroll不会初始化

时间:2012-07-15 19:00:28

标签: jquery jquery-mobile iscroll4

我遇到的问题是iScroll没有在我的jQuery移动项目中正确初始化。 iScroll插件仅用于一个子页面,允许在大图像上进行水平滚动(需要使其在Android上运行,因为他们的浏览器不支持开箱即用)...

如果直接访问该URL,或者手动刷新,该插件可以正常工作。但是当你通过菜单访问它时,从另一个起点,它将无法正常工作。我猜这与jQuery mobile中的ajax加载有关,但是将数据-ajax =“false”设置为链接不是一个选项,因为我需要整个工作也可以作为主屏应用程序iOs(其中带有data-ajax =“false”的链接在新的Safari窗口中打开,原因有些奇怪)。

在head标签中:

<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js
</script>
<script type="application/javascript" src="js/iscroll.js"></script>
<script type="text/javascript">
var myScroll;
function loaded() {
    setTimeout(function () {
        myScroll = new iScroll('wrapper');
        refresh();
    }, 100);
}
window.addEventListener('load', loaded, false);
</script>

在内容部分:

<div data-role="content">
  <div id="wrapper">
    <div id="scroller">
    <img src="images/turkart.png" />
    </div>
  </div>
</div>

有没有办法可以在加载后强制刷新实际页面,还是有其他方法可以强制iScroll正确初始化?

1 个答案:

答案 0 :(得分:0)

回答第二个问题,即是否有另一种方法:https://github.com/watusi/jquery-mobile-iscrollview的jQM有一个非常简洁的iScroll插件,非常容易实现,无需担心初始化问题