2

我是 jQuery Mobile 的新手。我需要在我的应用程序中添加 Facebook 滑动面板功能。

我使用了滑动菜单面板,它工作正常,但是我在菜单面板中的内容超出了窗口大小,我想让它可以滚动。

请告诉我如何解决它。

代码参考

<!DOCTYPE html>
<html>
<head>
<title>FB Style Menu</title>
<meta id="extViewportMeta" name="viewport"content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script>
<style>
    .ui-panel-inner {
    overflow: hidden !important;
    padding: 0px;
}
.ui-controlgroup {
    margin: 0;
}
#header {
    height: 54px;
}
#bars-button {
    margin: 7px;
}
.panel-content {
    overflow-y: scroll !important
}
</style>

<script>
    $(document).on('pageshow', '#home', function(event) {
        alert("init");
    init(); //$.mobile.hidePageLoadingMsg();    
    });    
    function init() {    
        var header = $('[data-role=header]').outerHeight();
        var panel = $('.ui-panel').height();
        var panelheight = panel - header;
        $('.ui-panel').css({
            'top' : header,
            'min-height' : panelheight
        });    
    }
</script>
</head>
<body>
<div data-role="page" id="home" data-theme="b">
    <div data-role="panel" id="navpanel" data-theme="a" data-display="overlay" data-position="right">
        <div class="panel-content">
            <div data-role="controlgroup" data-corners="false"> <a href="#" data-role="button">Business</a>
                <a href="#" data-role="button">Numbers</a>
                <a href="#" data-role="button">Money</a>
                <a href="#" data-role="button">People</a>
                <a href="#" data-role="button">Business</a>
                <a href="#" data-role="button">Numbers</a>
                <a href="#" data-role="button">Money</a>
                <a href="#" data-role="button">People</a>
                <a href="#" data-role="button">Business</a>
                <a href="#" data-role="button">Numbers</a>
                <a href="#" data-role="button">Money</a>
                <a href="#" data-role="button">People</a>
            </div>
        </div>
    </div>
<div id="header" data-role="header" data-theme="b"> 
    <a id="bars-button" data-icon="bars" class="ui-btn-right" style="margin-top:10px;" href="#navpanel">Menu</a>


<!-- /About -->
</div>
</body>
</html>
4

2 回答 2

4

在我看来,jQuery Mobile 的滑动面板(FB 之类)还没有准备好。我在固定导航栏和固定页脚方面遇到了一些问题。这就是为什么我开始寻找更好的替代方案来解决这个问题。

以下是我找到的一些链接:

我知道它不能解决你的问题,但它可能有助于你未来的发展:)

于 2013-09-11T13:50:17.100 回答
2

到目前为止,我正在将上述overflow-x: scroll作为.ui-panel-inner { overflow-x: hidden }解决方案,因为除了少数低分辨率设备外,这在大多数设备上都可以正常工作,请参考小提琴

于 2013-09-12T06:00:28.643 回答