jquery-mobile – jquery mobile – 强制面板在更宽的屏幕上打开

前端之家收集整理的这篇文章主要介绍了jquery-mobile – jquery mobile – 强制面板在更宽的屏幕上打开前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在尝试在多个设备上测试我的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功能来提供相同的功能.

希望它有所帮助.但我仍在寻找更好的解决方案;)

猜你在找的jQuery相关文章