我一直在尝试在多个设备上测试我的jquery移动应用程序.我目前有一个通过滑动或点击“菜单”按钮打开的面板.
但是,在宽屏幕上,该应用程序看起来很时髦.太宽了.我知道这是针对移动设备的,但是,为什么不为ipads / surface / androids格式化呢?
要做到这一点,我想通过要求在宽度超过特定值时始终打开面板来缩短宽度.
我已经挖掘了文档,我发现最接近的是:
class =“ui-responsive-panel”来自以下链接:http://view.jquerymobile.com/master/docs/widgets/panels/panel-fixed.php
将它添加到我的页面标题后,我注意到当窗口很宽时我无法“刷掉”菜单.当我缩小窗口(在PC浏览器上或通过旋转设备)时,可以刷它.
是否有人熟悉这一点,并愿意放弃一些亮点?
解决方法
我面临着同样的问题.当用户以横向模式(平板电脑)转动设备或者窗口宽度超过特定宽度时,我希望面板保持打开状态.
不幸的是,在这种情况下,我找不到任何解决方案和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功能来提供相同的功能.
希望它有所帮助.但我仍在寻找更好的解决方案;)