jQuery Mobile外部面板无法正常工作

时间:2014-05-16 00:28:04

标签: javascript jquery html jquery-mobile

我有一个令人沮丧的问题。 根据文档,我被允许有外部小组:

我也可以使用外部页眉和页脚:

然后逻辑上我应该能够将它们组合起来:

<div data-role="header" data-position="fixed" data-theme="a">
    <a href="#main_menu" data-transition="reveal" class="f-menu menu_control"><span>Open left panel</span></a>
    <h1>Info</h1>
</div><!-- /header -->


<div id="locale" data-role="page" data-title="Info" class="jqm-demos">

    <div role="main" class="ui-content jqm-content jqm-fullwidth">
        <h1>LOCALE</h1>
    </div><!-- /content -->
</div><!-- /page -->

<div id="privacy" data-role="page" data-title="Info" class="jqm-demos">

    <div role="main" class="ui-content jqm-content jqm-fullwidth">
        <h1>PRIVACY</h1>
    </div><!-- /content -->
</div><!-- /page -->

<div data-role="panel" id="main_menu" data-position="left" data-display="reveal" data-theme="a">
    <ul data-role="listview" id="menu_contents">
        <li data-role="list-divider" class="h2 ui-li-divider ui-bar-a ui-first-child">
            <a href="#locale" data-transition="slide" data-rel="close" class="f-cogs">Page 1</a>
        </li>
        <li data-role="list-divider" class="h2 ui-li-divider ui-bar-a ui-first-child">
            <a href="#privacy" data-transition="slide" data-rel="close" class="f-cogs">Page 2</a>
        </li>
    </ul>
</div>

小提琴:http://jsfiddle.net/sidouglas/qVNyf/1/

正如您将在小提琴中看到的那样,滑动动画与(http://demos.jquerymobile.com/1.4.2/panel-external/)不同。这是滞后的,文档的高度没有正确计算。

根据另一个question,我尝试在此fiddle中使用<div class="ui-panel-wrapper">。仍然是同样的问题。

1 个答案:

答案 0 :(得分:3)

这是一个有效的解决方案:http://jsfiddle.net/Palestinian/8nM4u/

至少在此错误解决之前,您应该订阅我在评论中留下的错误报告。

这是您正常工作所需的其他代码:

$(document).on("pagecreate", function () {
    $("[data-role=panel]").one("panelbeforeopen", function () {
        var height = $.mobile.pageContainer.pagecontainer("getActivePage").outerHeight();
        $(".ui-panel-wrapper").css("height", height + 1);
    });
});

Omar打个招呼,他给了你这个解决方案。 :)