jody
jody
  • 发布:2015-01-13 09:52
  • 更新:2015-01-13 14:09
  • 阅读:3479

Actionsheet被地图遮挡问题

分类:MUI

遇到一个问题,在页面上调用百度地图,地图一直显示在最顶层,遮罩也会显示在他下方,我想在调用地图的页面使用Actionsheet菜单,但被遮挡,请大家指点如何处理,谢谢!


点击按钮后Actionsheet显示在了地图的后方,调整z-index无效;

Hbuilder 5.2.0.201501260111版本已经加入了原生的Actionsheet支持,该问题已解决,谢谢!

<!DOCTYPE html>  
<html>  

    <head>  
        <meta charset="utf-8">  
        <title>Hello MUI</title>  
        <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,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="../css/mui.min.css">  
        <script src="../js/mui.min.js"></script>  
        <script src="../js/app.js"></script>  
        <style>  
            html,body {  
                background-color: #efeff4;  
            }  
            .mui-bar-nav~.mui-content {  
                padding: 0;  
            }  
            p {  
                text-indent: 22px;  
            }  
            #map {  
                width: 100%;  
                position: fixed;  
                top: 46px;  
                bottom: 51px;  
                line-height: 200px;  
                text-align: center;  
                background: #FFFFFF;  
            }  
            .ipos {  
                background: no-repeat center center url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAsCAYAAAAn4+taAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNC8wMS8xNExYUU4AAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAACTklEQVRoge2YO2gUURSGv7PjEkULO4UoFooIFgtzprAPWMiWKewSTadgYWEhBjHCloGUQtYHaGEjGAQtUmgnZO9YpsqC2NgYIwjRInMscoPrYkzhGTIs8zdnzoP578ewM/eumBmjoMZ+L8BLNUjVVINUTTVI1VSDVE0jA3KgjJuGEE6LyI2iKC6JyBkzWxORF8ADVV0rw1O891ohhCngPnDyL+1PZjabZdkTV1OcQUIIV4CHMf0JvAK+A0eANjAWe1dV9ZGbMY6/kTzPzwHzMV0VkZaqTgLTqjopIi1gNfbnQwhnvbzBEcTMbgFHgXURaRdFsRFCWAa+hhCWi6LYEJE2sB7nbnp5g+9b62KMIU3Tvoh0gQm2Fz0hIt00TftAADCztqO3K8h4jJsAZnZ+sDmQ/wAQkXEc5QnyJcZjACLybLApIk/j5YmheRd5gryLMev1elOqesfMrpvZczO7pqqzvV5vGmgNzbvIDUREXsbLRES6IYTbzWZzMcuyy0mSPA4h3BWRxR3PgXkff6/vSJ7nx83sPXBqoLwJFEACHByofxSRC2mafnYxx/GJxEW9GSofAg7zJwTAa08I8N80doG9HrHx++vvJlcQVV0xs6V/zZjZkqquePpCOdv4OWBrl96WiNwrwdMfJMuyHFjYpb2gqh+8PaG8g9Uc0B+q9WO9FJUCoqrfgBm2X73EOBPrpai0o66qvgU6Me3EvDSVctTdUZIknaIoxhqNRmfv6f+T+1F3vzQy/6LUIFVTDVI11SBVUw1SNdUgVdPIgPwCtt+2JPQRVicAAAAASUVORK5CYII=);  
                background-size: 50px 44px;  
            }         
        </style>  
    </head>  

    <body>  
        <header id="header" class="mui-bar mui-bar-nav">  
            <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>  
            <a class="mui-icon mui-icon-bars mui-pull-right"></a>  
            <h1 id="title" class="mui-title">地图</h1>  
        </header>  
        <div id="map" class="mui-content">地图加载中...</div>  
        <nav class="mui-bar mui-bar-tab">  
            <a id="defaultTab" class="mui-tab-item mui-active" href="#location">  
                <span class="mui-icon mui-icon-navigate"></span>  
                <span class="mui-tab-label">定位</span>  
            </a>  
            <a class="mui-tab-item" href="#track">  
                <span class="mui-icon mui-icon-refresh"><span id="count" class="mui-badge">9</span></span>  
                <span class="mui-tab-label">跟踪</span>  
            </a>  
            <a class="mui-tab-item" href="#playback">  
                <span class="mui-icon mui-icon-loop"></span>  
                <span class="mui-tab-label">回放</span>  
            </a>  
        </nav>  
        <div id="playback" class="mui-popover mui-popover-action mui-popover-bottom">  
            <ul class="mui-table-view">  
                <li class="mui-table-view-cell">  
                        <label>开始时间</label>  
                </li>  
                <li class="mui-table-view-cell">  
                        <div class="mui-input-row">  
                            <button id="strdate" class="mui-btn" style="width: 45%;">  
                                日期  
                            </button>         
                            <button id="strtime" class="mui-btn" style="width: 45%;">  
                                时间  
                            </button>  
                        </div>  
                </li>  
                <li class="mui-table-view-cell">  
                        <label>结束时间</label>   
                </li>  
                <li class="mui-table-view-cell">  
                        <div class="mui-input-row">  
                        <button id="enddate" class="mui-btn" style="width: 45%;">  
                            日期  
                        </button>         
                        <button id="endtime" class="mui-btn" style="width: 45%;">  
                            时间  
                        </button>  
                        </div>  
                </li>  
            </ul>  
            <ul class="mui-table-view">  
                <li class="mui-table-view-cell">  
                    <a href="#strplayback"><b>确定</b></a>  
                </li>  
            </ul>  
        </div>  
        <script type="text/javascript" charset="utf-8">  
            mui.init();  
            var title = document.getElementById("title");  
            //选项卡点击事件  
            mui('.mui-bar-tab').on('tap', 'a', function(e) {  
                var targetTab = this.getAttribute('href');  
                if (targetTab == "#location") {                   
                    //alert(targetTab);  
                }else if (targetTab == "#track") {  
                    //alert(targetTab);  
                }else if (targetTab == "#playback") {  
                    //alert(targetTab);  
                }  
                //更换标题  
                title.innerHTML = this.querySelector('.mui-tab-label').innerHTML;  
            });  

            var ws=null,wo=null;  
            var em=null,map=null;  
            // H5 plus事件处理  
            function plusReady(){  
                if(!em||ws){return};  
                // 获取窗口对象  
                ws=plus.webview.currentWebview();  
                wo=ws.opener();  
                setTimeout(function(){  
                    map=new plus.maps.Map("map");  
                    map.centerAndZoom(new plus.maps.Point(114.103659,22.562943),15);  
                    createMarker();  
                    // 创建子窗口  
                    //createSubview();  
                },300);  
                // 显示页面并关闭等待框  
                //ws.show("slide-in-right",300);  
                //wo.evalJS("closeWaiting()");  
            }  

            if(window.plus){  
                plusReady();  
            }else{  
                document.addEventListener("plusready",plusReady,false);  
            }  
            // DOMContentloaded事件处理  
            document.addEventListener("DOMContentLoaded",function(){  
                em=document.getElementById("map");  
                window.plus&&plusReady();  
            },false);  
            function userLocation(){  
                map.showUserLocation( true );  
                map.getUserLocation(function(state,pos){  
                    if(0==state){  
                        map.setCenter(pos);  
                    }  
                });  
            }  
            function createMarker(){  
                var marker=new plus.maps.Marker(new plus.maps.Point(114.103659,22.562943));  
                marker.setIcon("/logo.png");  
                marker.setLabel("粤B66543");  
                var bubble = new plus.maps.Bubble("车牌:粤B66543 ");  
                marker.setBubble(bubble);  
                map.addOverlay(marker);  
            };  
        </script>  
    </body>  
</html>
2015-01-13 09:52 负责人:无 分享
已邀请:
DCloud_UNI_FXY

DCloud_UNI_FXY

试试原生的plus.nativeUI.actionSheet控件,参考文档:http://html5plus.org/#specification#/specification/nativeUI.html

  • jody (作者)

    非常谢谢!原生的nativeui可以正常显示,但不能达到我要的效果,这个地图非常顽固,死皮赖脸的显示在最顶层,只要有地图,这个页面就干不了其他了;我只是想要展示地图的时候还能做些其他的操作。

    2015-01-13 14:41

  • DCloud_heavensoft

    地图是原生控件,层级比dom高。类似于网页里的flash,用div是盖不住的。

    2015-01-13 21:06

  • 2***@qq.com

    我是侧滑导航被整个地图当着,一直显示最顶层,有解决办法吗?

    2018-07-18 17:32

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