夜帝
夜帝
  • 发布:2014-10-23 16:35
  • 更新:2014-10-24 16:09
  • 阅读:2747

off canvas 侧滑导航横屏后再竖屏显示有问题

分类:HTML5+
mui

off canvas 侧滑导航横屏时点出侧滑页,然后再将手机竖屏,页面显示出现问题,并且那个点出侧滑页的图片就看不到了;
代码如下:
{{{
<!DOCTYPE html>
<html>

<head>  
    <meta charset="utf-8">  
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />  
    <title></title>  
    <script src="../js/mui.min.js"></script>  
    <link href="../css/mui.min.css" rel="stylesheet" />  
</head>  

<body>  
    <div class="mui-off-canvas-wrap mui-draggable">  
        <div class="mui-inner-wrap">  
            <header class="mui-bar mui-bar-nav">  
                <a class="mui-action-menu mui-icon mui-icon-bars mui-pull-left"></a>  
                <h1 id="a" class="mui-title">中医网络课堂</h1>  
            </header>  
            <div class="mui-content">  
                <ul class="mui-table-view mui-table-view-chevron">  
                    <li class="mui-table-view-cell mui-media">  
                        <a class="mui-navigate-right">  
                            <img class="mui-media-object mui-pull-left" src="../images/42x42.gif">  
                            <div class="mui-media-body">  
                                Item 1  
                                <p>  
                                    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore. Lorem ipsum dolor sit amet.  
                                </p>  
                            </div>  
                        </a>  
                    </li>  
                    <li class="mui-table-view-cell mui-media">  
                        <a class="mui-navigate-right">  
                            <img class="mui-media-object mui-pull-left" src="../images/42x42.gif">  
                            <div class="mui-media-body">  
                                Item 1  
                                <p>  
                                    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore. Lorem ipsum dolor sit amet.  
                                </p>  
                            </div>  
                        </a>  
                    </li>  
                    <li class="mui-table-view-cell mui-media">  
                        <a class="mui-navigate-right">  
                            <img class="mui-media-object mui-pull-left" src="../images/42x42.gif">  
                            <div class="mui-media-body">  
                                Item 1  
                                <p>  
                                    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore. Lorem ipsum dolor sit amet.  
                                </p>  
                            </div>  
                        </a>  
                    </li>  
                </ul>  
            </div>  
            <!-- off-canvas backdrop -->  
            <div class="mui-off-canvas-backdrop"></div>  
        </div>  
    </div>  
    <script type="text/javascript" charset="utf-8">  
        var menu, showMenu = false;  
        mui.init({  
            swipeBack: false  
        });  
        mui.plusReady(function() {  
            menu = mui.openWindow({  
                id: 'left-menu',  
                url: 'left-menu.html',  
                styles: {  
                    left: '-60%',  
                    width: '60%',  
                    zindex: 9998  
                },  
                show: {  
                    aniShow: 'none'  
                },  
                waiting: {  
                    autoShow: false  
                }  
            });  
            //初始化主页面位置  
            mui.currentWebview.setStyle({  
                left: 0  
            });  
            document.querySelector('.mui-icon-bars').addEventListener('tap', function() {  
                menu.setStyle({  
                        left: showMenu ? '-60%' : '0%',  
                        transition: {  
                            duration: 200  
                        }  
                    });  
                mui.currentWebview.setStyle({  
                    left: showMenu ? '0' : '60%',  
                    transition: {  
                        duration: 200  
                    }  
                });  
                showMenu = !showMenu;  
            });  
        });  
    </script>  
</body>  

</html>
}}}

2014-10-23 16:35 负责人:无 分享
已邀请:
夜帝

夜帝 (作者)

补充:上面的代码是我的home.html页面的代码,home.html是程序启动时直接在index.html中打开的页面,所使用的手机的小米2s

夜帝

夜帝 (作者)

发现问题出在webview.setStyle,如果A页面是在index.html中加载的,最初是left:0,在A页面中的一个按钮事件中使A.setStyle({left:10%})与A.setStyle({left:0})间切换,当设置为10%时横屏,横屏状态下切换为0%,无法恢复到原来状态

夜帝

夜帝 (作者)

mui的实例中也许是因为用的openWindow没有这样的问题,但是还是有显示不了那个切换图标的问题,而且这个功能不应该仅仅只能在openWindow下才能用啊

DCloud_UNI_CHB

DCloud_UNI_CHB

iOS应该没问题,android客户端可能存在横竖屏切换多webview重绘的bug,5+客户端正在解决。

该问题目前已经被锁定, 无法添加新回复