我是jQuery Mobile的新手。我需要在我的应用程序中添加Facebook滑动面板功能。
我使用了sliding menu panel,它工作正常,但我在菜单面板中的内容超出了窗口大小,我想让它可滚动。
请告诉我如何解决它。
代码参考
<!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>
答案 0 :(得分:4)
在我看来,jQuery Mobile的幻灯片(FB之类)还没有准备好。我在固定导航栏和固定页脚方面遇到了一些问题。这就是为什么我开始寻找更好的替代方案来解决这个问题。
以下是我找到的一些链接:
我知道它不能解决你的问题,但它可能有助于你的未来发展:)
答案 1 :(得分:2)
截至目前,我正在将overflow-x: scroll
和.ui-panel-inner { overflow-x: hidden }
作为解决方案
除了少数低分辨率设备外,大多数设备都能正常工作
请参阅fiddle