用mui.openwindow跳转页面,但是跳转了都没有底部菜单。想跳转了底部菜单显示,并选中对应的项。要怎么做?

用mui.openwindow跳转页面,但是跳转了都没有底部菜单。想跳转了底部菜单显示,并选中对应的项。要怎么做?

1个回答

使用mui框架实现底部导航栏,最好不要使用openwindow,因为这样的方式是打开页面并不是跳转,而且层级位于所有页面最上层。底部导航栏使用创建父页面和子页面这种方式来实现,刚进入页面就渲染一次就好了,点击切换页面只是隐藏与显示。

    //获取父web
    var parentweb=plus.webview.currentWebview();
    //创建四个Webview
    var pagelist=[
    {
        url:"../homepage/homepage.html",
        id:"homepage"
    },
    {
        url:"../play/play.html",
        id:"play"
    },
    {
        url:"../mine/mine.html",
        id:"mine"
    }
    ];
    for(var i=0,l=pagelist.length;i<l;i++){
        var url=pagelist[i].url;
        var id=pagelist[i].id;

        //如果该web已经创建,则跳过本次循环
        if(plus.webview.getWebviewById(id)){
            //终止循环
            continue;    
        }

        //开始创建web
        var newweb=plus.webview.create(url,id,{
            bottom:'50px',
            top:'0px',
            popGesture:'none'
        });
        //设置web的显示状态
        //第一个web显示出来,其他的web隐藏
        if(i===0){ 
            newweb.show();
        }else{
            newweb.hide();
        }
        //把子web追加到父web
        parentweb.append(newweb);
    }

这是底部菜单父级页面和子页面的创建。

    plus.webview.getWebviewById(sid).show('none')

点击切换就用上面那行代码实现,sid是每个子页面的id

具体看官方文档
http://www.html5plus.org/doc/zh_cn/webview.html#plus.webview.create

qq_43218075
长木木木 我用var main=plus.webview.currentWebview(); var launch=plus.webview.getLaunchWebview(); var all=plus.webview.all(); for(var i=0;i<all.length;i++){ if(all[i].id== self.id || all[i].id==localStorage.homeWebId || all[i].id== launch.id || all[i].id=='html/Mimy.html' || all[i].id=='html/main/main.html' || all[i].id=='html/ShoppingCar.html' ){ continue }else{ all[i].close('none') } } self.close('slide-out-right');一些代码可以跳回到主微博view页面,但是怎么指定其他坦博尔对应的页面现实呢?
大约一年之前 回复
qq_43218075
长木木木 回复Honey Chen: 报错 Cannot read property 'dispatchEvent' of null
大约一年之前 回复
weixin_43109722
ChoneyLove 回复长木木木: 这个不可以吗?
大约一年之前 回复
qq_43218075
长木木木 在父页面添加了事件监听:代码如下:document.addEventListener('gohome', function() { var defaultTab = document.getElementById("defaultTab"); //模拟首页点击 mui.trigger(defaultTab, 'tap'); //切换选项卡高亮 var current = document.querySelector(".mui-bar-tab>.mui-tab-item.mui-active"); if(defaultTab !== current) { current.classList.remove('mui-active'); defaultTab.classList.add('mui-active'); } });
大约一年之前 回复
qq_43218075
长木木木 回复Honey Chen: 在子页面重写了mui.back()代码如下:mui.back = function() {   // 获取目标口窗口对象   var main=plus.webview.getWebviewById("html/Mimy.html"); mui.fire(main, 'gohome');};
大约一年之前 回复
weixin_43109722
ChoneyLove 回复长木木木: 实在抱歉,目前公司项目紧张,没有时间呐
大约一年之前 回复
qq_43218075
长木木木 回复Honey Chen: 留个联系方式,我把原发发给你你帮我看看吗?
大约一年之前 回复
weixin_43109722
ChoneyLove 主要是不知道你的页面布局是怎么的,在购买页面下单完成后回调到另一个订单页面,订单页面返回时关闭订单页面并且关闭购买页面,这样再让个人中心页面show,具体的方法你可以上网百度一下
大约一年之前 回复
qq_43218075
长木木木 如何关闭所有页面,然后让个人中心页显示?
大约一年之前 回复
qq_43218075
长木木木 回复Honey Chen: 您好,我希望购买完成后跳转至我的订单页面,在订单页面返回时直接跳转至我的页面。要如何操作
大约一年之前 回复
weixin_43109722
ChoneyLove 回复长木木木: 不一定非得跳转,在跳转的时候把所有打开的页面close或hide,主页面(所有导航栏页面)就出来了,然后让个人中心页面show。
大约一年之前 回复
qq_43218075
长木木木 如果是其它页面跳转至个人中心页面,如何使跳转后的个人中心带着底部导航?
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐