0

我需要在我的 jQuery Mobile 页面中实现 iScroll。我需要它来水平滚动一个大表。由于 iScroll 5 的第一个测试版已经发布,我想使用这个版本,其中包括水平滚动模式。

这是我应该使用的代码的全局语法:

<html>
    <head>
        <meta name="apple-mobile-web-app-capable" content="yes">
        <script src="/JAVASCRIPT/jquery-1.9.1.min.js"></script>
        <script src="/JAVASCRIPT/jquery.mobile-1.3.0.min.js"></script>
        <script src="/JAVASCRIPT/iscroll.js"></script>
        <script type="text/javascript">
            var myScroll;

            function loaded () {
                myScroll = new IScroll('#wrapper', { eventPassthrough: true, scrollX: true, scrollY: false });
                }
        </script>
    <head>

    <body onload="loaded()">
        <div data-role="page">
        <div data-role="content" id="content">
            <div id="wrapper">
                <div id="scroller">
                    <table>
                    </table>
                </div>
            </div>
        </div>
        </div>
    </body>
</html>

问题是 jQuery Mobile 使用 AJAX 来加载内容。而且因为带有表格的页面不是第一页,所以我的 javascript 没有执行。整个网站应该是一个 iPhone webapp,所以我不能跳过这个页面的 ajax 导航,否则 iPhone 会在 Safari 中从 webapp 中加载这个页面。该脚本在 safari 中完美运行,但在我的 webapp 中没有任何移动!

我需要解释如何在页面中加载这几行,请:

<script type="text/javascript">
    var myScroll;

    function loaded () {
        myScroll = new IScroll('#wrapper', { eventPassthrough: true, scrollX: true, scrollY: false });
    }
</script>

我已经搜索了很多,我发现了一些关于将脚本与 pagecreate 事件绑定的东西,但我无法让它工作。

iScroll 有一个针对 jQuery Mobile 的特殊改编版本,但它是为 iScroll 4 制作的……你是我唯一的希望!

英语不是我的母语,所以如果你有什么不明白的地方请问我。

在此先感谢您的帮助!

4

1 回答 1

1

尝试类似:

$(document).on('pageshow', '.mypage', function() {
        var myPageScroll = new IScroll('#wrapper', { eventPassthrough: true, scrollX: true, scrollY: false });
});

将“mypage”类添加到您的页面

于 2013-07-23T23:05:07.210 回答