Jquery Mobile Panel滚动内部问题

时间:2013-07-03 19:02:24

标签: css jquery-mobile scroll overflow

是否可以让JqueryMobile面板滚动到内部,但它后面的页面保持静态? 我正在尝试创建像facebook这样的大菜单,但页面总是滚动而不仅仅是面板内的内容。

我试过了:

<style type="text/css">
    #mypanel {
       overflow: scroll !important;
    }
</style>

<div data-role="page" id="page">
    <div class="my-page-big-content">ALL THE CONTENT OF MY PAGE</div>

<div data-role="panel" id="mypanel" data-position="left" data-display="overlay" data-position-fixed="true">
    <div class="panel-header">
        <p>My Panel header<a href="#mypanel" data-rel="close">Close My Panel</a></p>
    </div>
    <div class="panel-content">
        <ul class="my-menu">
          <li><a href=#>Menu item 1</a></li>
          <li><a href=#>Menu item 1</a></li>
          <li><a href=#>Menu item 1</a></li>
          <li><a href=#>Menu item 1</a></li>
          <li><a href=#>Menu item 1</a></li>
        <ul>
    </div>
</div>
</div>
<script>
    $(document).bind('panelopen', function (e, data) {
        $('body').css("overflow", "hidden");
    });

    $(document).bind('panelclose', function (e, data) {
        $('body').css("overflow", "auto");
    });
</script>

2 个答案:

答案 0 :(得分:2)

您可以在css文件中设置ui-panel-inner类,并将其放在页面中的JQM css之后

.ui-panel-inner {
   position: absolute;
   top: 1px;
   left: 0;
   right: 0;
   bottom: 0px;
   overflow: scroll;
   -webkit-overflow-scrolling: touch;
}

此外,有一个很好的报价: Make panel and page content scroll independently

答案 1 :(得分:0)