MUI的webview层级问题

这是index.html的HTML代码

<!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" />
        <link rel="stylesheet" type="text/css" href="css/index.css" />
        <script type="text/javascript" charset="utf-8">
            mui.init();
            mui.plusReady(function() {
                // 定义子页面链接
                var subPages = ['home.html', 'socialize.html'];

                // 定义子页面样式
                var subPageStyle = {
                    top: '0px',
                    bottom: '50px'
                };

                // 获取当前 webview
                var mainView = plus.webview.currentWebview();

                // 循环创建子页面并隐藏
                for (let i = 0; i < subPages.length; i++) {
                    var url = subPages[i];
                    var subView = plus.webview.create(url, url, subPageStyle);
                    subView.hide();
                    mainView.append(subView);
                }

                // 显示初始子页面
                plus.webview.show(subPages[0]);

                // 底部导航栏点击事件处理
                mui('#jump').on('tap', 'a', function() {
                    plus.webview.show(this.getAttribute('href'));
                });
            })
        </script>
    </head>
    <body>
        <nav id="jump" class="mui-bar mui-bar-tab">
            <a class="mui-tab-item mui-active" href="home.html">
                <span class="mui-icon mui-icon-home"></span>
                <span class="mui-tab-label">首页</span>
            </a>
            <a class="mui-tab-item" href="socialize.html">
                <span class="mui-icon mui-icon-phone"></span>
                <span class="mui-tab-label">友邻社交</span>
            </a>
            <a class="mui-tab-item more" href="#">
                <img src="images/jj.png" alt="++">
            </a>
            <a class="mui-tab-item" href="#">
                <span class="mui-icon mui-icon-email"></span>
                <span class="mui-tab-label">社区服务</span>
            </a>
            <a class="mui-tab-item" href="#">
                <span class="mui-icon mui-icon-gear"></span>
                <span class="mui-tab-label">数据分析</span>
            </a>
        </nav>
    </body>
</html>

这是home.html页面的html代码

<!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" />
        <link rel="stylesheet" type="text/css" href="css/index.css" />
        <script type="text/javascript" charset="utf-8">
            mui.init();
        </script>
    </head>
    <body>
        <div id="index">
            <main>
                <div id="rotation" class="mui-slider">
                    <div class="mui-slider-group mui-slider-loop">
                        <!--支持循环,需要重复图片节点-->
                        <div class="mui-slider-item mui-slider-item-duplicate"><a href="#"><img
                                    src="images/head3.jpg" /></a>
                        </div>
                        <div class="mui-slider-item"><a href="#"><img src="images/head1.jpg" /></a></div>
                        <div class="mui-slider-item"><a href="#"><img src="images/head2.jpg" /></a></div>
                        <div class="mui-slider-item"><a href="#"><img src="images/head3.jpg" /></a></div>
                        <!--支持循环,需要重复图片节点-->
                        <div class="mui-slider-item mui-slider-item-duplicate"><a href="#"><img
                                    src="images/head1.jpg" /></a>
                        </div>
                    </div>
                </div>
                <ul id="notice" class="mui-table-view">
                    <li class="mui-table-view-cell">
                        <a class="mui-navigate-right">第六次全员核酸检测</a>
                    </li>
                </ul>
                <ul id="grid" class="mui-table-view mui-grid-view mui-grid-9">
                    <li class="mui-table-view-cell mui-media mui-col-xs-3 mui-col-sm-3"><a href="#">
                            <span class="mui-icon mui-icon-home"></span>
                            <div class="mui-media-body">开门</div>
                        </a></li>
                    <li class="mui-table-view-cell mui-media mui-col-xs-3 mui-col-sm-3"><a href="#">
                            <span class="mui-icon mui-icon-email"></span>
                            <div class="mui-media-body">我的房屋</div>
                        </a></li>
                    <li class="mui-table-view-cell mui-media mui-col-xs-3 mui-col-sm-3"><a href="#">
                            <span class="mui-icon mui-icon-chatbubble"></span>
                            <div class="mui-media-body">我的车位</div>
                        </a></li>
                    <li class="mui-table-view-cell mui-media mui-col-xs-3 mui-col-sm-3"><a href="#">
                            <span class="mui-icon mui-icon-location"></span>
                            <div class="mui-media-body">物业缴费</div>
                        </a></li>
                    <li class="mui-table-view-cell mui-media mui-col-xs-3 mui-col-sm-3"><a href="#">
                            <span class="mui-icon mui-icon-search"></span>
                            <div class="mui-media-body">扫码取件</div>
                        </a></li>
                    <li class="mui-table-view-cell mui-media mui-col-xs-3 mui-col-sm-3"><a href="#">
                            <span class="mui-icon mui-icon-phone"></span>
                            <div class="mui-media-body">社区公告</div>
                        </a></li>
                    <li class="mui-table-view-cell mui-media mui-col-xs-3 mui-col-sm-3"><a href="#">
                            <span class="mui-icon mui-icon-gear"></span>
                            <div class="mui-media-body">社区电话</div>
                        </a></li>
                    <li class="mui-table-view-cell mui-media mui-col-xs-3 mui-col-sm-3"><a href="#">
                            <span class="mui-icon mui-icon-info"></span>
                            <div class="mui-media-body">投诉建议</div>
                        </a></li>
                </ul>
                <div id="activity">
                    <div class="mui-slider">
                        <div class="title">
                            <ul class="mui-table-view">
                                <li class="mui-table-view-cell">
                                    <a class="mui-navigate-right">
                                        <span>社会活动</span>
                                    </a>
                                    <span class="mui-badge">查看更多</span>
                                </li>
                            </ul>
                        </div>
                        <div class="mui-slider-group mui-slider-loop">
                            <!--支持循环,需要重复图片节点-->
                            <div class="mui-slider-item">
                                <div class="active-item">
                                    <a href="#"><img src="images/head3.jpg" /></a>
                                    <div class="active-title">
                                        <p>社区</p>
                                        <span>距您5.4km</span>
                                    </div>
                                </div>
                            </div>
                            <div class="mui-slider-item">
                                <div class="active-item">
                                    <a href="#"><img src="images/head1.jpg" /></a>
                                    <div class="active-title">
                                        <p>社区</p>
                                        <span>距您5.4km</span>
                                    </div>
                                </div>
                            </div>
                            <div class="mui-slider-item">
                                <div class="active-item">
                                    <a href="#"><img src="images/head2.jpg" /></a>
                                    <div class="active-title">
                                        <p>社区</p>
                                        <span>距您5.4km</span>
                                    </div>
                                </div>
                            </div>
                            <div class="mui-slider-item">
                                <div class="active-item">
                                    <a href="#"><img src="images/head3.jpg" /></a>
                                    <div class="active-title">
                                        <p>社区</p>
                                        <span>距您5.4km</span>
                                    </div>
                                </div>
                            </div>
                            <!--支持循环,需要重复图片节点-->
                            <div class="mui-slider-item">
                                <div class="active-item">
                                    <a href="#"><img src="images/head1.jpg" /></a>
                                    <div class="active-title">
                                        <p>社区</p>
                                        <span>距您5.4km</span>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <div id="trends">
                    <div>
                        <div class="title">
                            <ul class="mui-table-view">
                                <li class="mui-table-view-cell">
                                    <a class="mui-navigate-right">
                                        <span>社会动态</span>
                                    </a>
                                    <span class="mui-badge">查看更多</span>
                                </li>
                            </ul>
                        </div>
                        <ul class="mui-table-view">
                            <li class="mui-table-view-cell mui-media">
                                <a href="javascript:;">
                                    <img class="mui-pull-right" src="images/head1.jpg">
                                    <div class="mui-media-body">
                                        <p>义工和社工的本质区别</p>
                                        <p class='mui-ellipsis'>3评论 2022-02-21 14:05:33</p>
                                    </div>
                                </a>
                            </li>
                            <li class="mui-table-view-cell mui-media">
                                <a href="javascript:;">
                                    <img class="mui-pull-right" src="images/head2.jpg">
                                    <div class="mui-media-body">
                                        <p>义工和社工的本质区别</p>
                                        <p class='mui-ellipsis'>3评论 2022-02-21 14:05:33</p>
                                    </div>
                                </a>
                            </li>
                            <li class="mui-table-view-cell mui-media">
                                <a href="javascript:;">
                                    <img class="mui-pull-right" src="images/head3.jpg">
                                    <div class="mui-media-body">
                                        <p>义工和社工的本质区别</p>
                                        <p class='mui-ellipsis'>3评论 2022-02-21 14:05:33</p>
                                    </div>
                                </a>
                            </li>
                        </ul>
                    </div>
                </div>
            </main>
        </div>
    </body>
</html>


如何解决页面跳转时home.html会叠加在index.html上面的问题

加优先级试试

【以下回答由 GPT 生成】

解决方案:

根据你提供的代码,我注意到你已经正确地定义了子页面样式和隐藏子页面的步骤。

然而,根据你的问题描述,我猜测你可能希望在创建子页面后,将它们添加到当前的webview中。以下是解决方案的具体步骤:

  1. 在循环创建子页面后,将它们添加到当前webview中。可以使用append方法将子页面添加到当前webview的DOM树中。
// 循环创建子页面并隐藏
for (let i = 0; i < subPages.length; i++) {
    var url = subPages[i];
    var subView = plus.webview.create(url, url, subPageStyle);
    subView.hide();
    mainView.append(subView); // 添加子页面到当前webview
}
  1. 确保在设置子页面样式之前,子页面已经创建并添加到当前webview中。这样子页面的样式才能生效。

将以上代码放在mui.plusReady的回调函数中,确保在mui初始化完成后再运行。

mui.init();
mui.plusReady(function() {
    // 定义子页面链接
    var subPages = ['home.html', 'socialize.html'];

    // 定义子页面样式
    var subPageStyle = {
        top: '0px',
        bottom: '50px'
    };

    // 获取当前 webview
    var mainView = plus.webview.currentWebview();

    // 循环创建子页面并隐藏
    for (let i = 0; i < subPages.length; i++) {
        var url = subPages[i];
        var subView = plus.webview.create(url, url, subPageStyle);
        subView.hide();
        mainView.append(subView); // 添加子页面到当前webview
    }
});

这样,你应该能够正确设置子页面的样式并隐藏它们。如果还有其他问题,请告诉我。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^