0

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

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

在头部标签中:

<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 正确初始化?

4

1 回答 1

0

To answer you second question, i.e. is there another way: There is a very neat iScroll plugin for jQM at https://github.com/watusi/jquery-mobile-iscrollview that is very easy to implement and no need to worry about initialization problems

于 2012-07-16T01:43:42.473 回答