我面临同样的问题。当用户以横向模式(平板电脑)转动设备时,或者如果窗口一开始就比特定宽度宽,我希望面板保持打开状态。
不幸的是,在这种情况下,我没有找到任何解决方案和响应式面板的 jQuery Mobilele 示例。
所以我找到了一种使用一些javascript的方法,但我对这个解决方案不满意,因为带有媒体查询的纯CSS解决方案会更好。
但是,这是我的“解决方法”解决方案。
<script type="text/javascript">
window.onresize = function (event) {
if (window.innerWidth > 800) {
window.setTimeout(openPanel, 1);
}
if (window.innerWidth < 800) {
window.setTimeout(closePanel, 1);
}
};
function closePanel() {
$("#mypanel").panel("close");
}
function openPanel() {
$("#mypanel").panel("open");
}
$( "#mypanel" ).on( "panelcreate", function( event, ui ) {
if (window.innerWidth > 800) {
openPanel();
}
if (window.innerWidth < 800) {
closePanel();
}
});
</script>
所以如果窗口内宽大于800,面板打开;如果低于 800 则关闭。此外window.onresize
,如果用户将设备从纵向模式切换到横向模式,该功能还需要提供相同的功能。
希望它有所帮助。但我仍在寻找更好的解决方案;)