9***@qq.com
9***@qq.com
  • 发布:2017-08-24 20:35
  • 更新:2017-08-24 20:35
  • 阅读:2056

底部tab切换在网页上不显示内容

分类:MUI

<nav class="mui-bar mui-bar-tab">
<a id="defaultTab" class="mui-tab-item mui-active" href="app/homepage.html">
<span class="mui-icon iHome"></span>
<span class="mui-tab-label">主页</span>
</a>
<a class="mui-tab-item" href="app/store.html">
<span class="mui-icon iMark"></span>
<span class="mui-tab-label">卖场</span>
</a>
<a class="mui-tab-item" href="app/discover.html">
<span class="mui-icon iFound"></span>
<span class="mui-tab-label">发现</span>
</a>
<a class="mui-tab-item" href="app/personage.html">
<span class="mui-icon iMine"></span>
<span class="mui-tab-label">我的</span>
</a>
</nav>

//js
var subpages = ['app/homepage.html', 'app/store.html', 'app/discover.html','app/personage.html'];
var subpage_style = {
top:'0px',
bottom: '50px'
};

    var aniShow = {};  

     //创建子页面,首个选项卡页面显示,其它均隐藏;  
    mui.plusReady(function() {  
        var self = plus.webview.currentWebview();  
        for (var i = 0; i < subpages.length; i++) {  
            var temp = {};  
            var sub = plus.webview.create(subpages[i], subpages[i], subpage_style);  
            if (i > 0) {  
                sub.hide();  
            }else{  
                temp[subpages[i]] = "true";  
                mui.extend(aniShow,temp);  
            }  
            self.append(sub);  
        }  
    });  
     //当前激活选项  
    var activeTab = subpages[0];  

     //选项卡点击事件  
    mui('.mui-bar-tab').on('tap', 'a', function(e) {  
        var targetTab = this.getAttribute('href');  
        if (targetTab == activeTab) {  
            return;  
        }  
        //显示目标选项卡  
        //若为iOS平台或非首次显示,则直接显示  
        if(mui.os.ios||aniShow[targetTab]){  
            plus.webview.show(targetTab);  
        }else{  
            //否则,使用fade-in动画,且保存变量  
            var temp = {};  
            temp[targetTab] = "true";  
            mui.extend(aniShow,temp);  
            plus.webview.show(targetTab,"fade-in",300);  
        }  
        //隐藏当前;  
        plus.webview.hide(activeTab);  
        //更改当前活跃的选项卡  
        activeTab = targetTab;  
    });  
     //自定义事件,模拟点击“首页选项卡”  
    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');  
        }  
    });  

完全按照文档来写,但是在模拟器中运行正常,在网页内却不显示内容

2017-08-24 20:35 负责人:无 分享
已邀请:

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