a***@163.com
a***@163.com
  • 发布:2019-03-23 23:57
  • 更新:2019-03-28 16:54
  • 阅读:1354

5+App项目,使用官方的底部选项卡(nav),在用户登录验证返回首页后,底部选项止不能正常切换。

分类:HBuilder

本人刚接解Dcloud,最近在使用时遇到一个问题
首页一个(nav)底部选项卡,使用,在第四个“我的”页面里,用户登录验证返回首页后,底部选项卡就出现不能正常切换,偶尔行偶尔不行,请问哪位高手知道原因,还望指点。
部分代码如下:
index页

    <nav class="mui-bar mui-bar-tab">  
        <a id="defaultTab" class="mui-tab-item mui-active" href="tab-home.html">  
            <span class="mui-icon mui-icon-home"></span>  
            <span class="mui-tab-label">首页</span>  
        </a>  
        <a class="mui-tab-item" href="tab-tao.html">  
            <span class="mui-icon mui-icon-phone"></span>  
            <span class="mui-tab-label">选项二</span>  
        </a>  
        <a class="mui-tab-item" href="tab-jd.html">  
            <span class="mui-icon mui-icon-email"></span>  
            <span class="mui-tab-label">选项dg 三</span>  
        </a>  
        <a id="tab-me" class="mui-tab-item" href="tab-me.html">  
            <span class="mui-icon mui-icon-gear"></span>  
            <span class="mui-tab-label">我的</span>  
        </a>  
    </nav>  

     var subpages = ['tab-home.html', 'tab-tao.html', 'tab-jd.html', 'login.html'];  
  var subpage_style = {  
            top: '0px',  
            bottom: '51px'  
        };  

        var aniShow = {};  

        //创建子页面,首个选项卡页面显示,其它均隐藏;  
        mui.plusReady(function() {  
            var self = plus.webview.currentWebview();  
            for (var i = 0; i < 4; 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];  
        // var title = document.getElementById("title");  
        //选项卡点击事件  
        mui('.mui-bar-tab').on('tap', 'a', function(e) {  
            var targetTab = this.getAttribute('href');  
            if (targetTab == activeTab) {  
                return;  
            }  
            //更换标题  
            //title.innerHTML = this.querySelector('.mui-tab-label').innerHTML;  
            //显示目标选项卡  
            //若为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');  
            }  
        });  

        function ChkUs() {  
            mui.ajax({  
                url: "http://192.168.124.5/DisposeData.php",  
                async: false,  
                type: 'post', //HTTP请求类型  
                dataType: 'text', //服务器返回text格式数据  
                data: {Event: "ChkUsOnLine"},  
                success: function(data) {Islog=data;},  
                error: function(xhr, type, errorThrown) {Islog = "E";}  
            });  
        };  

子页面在验证成功后,使用二种方法返回均不行
一://跳转到首页
mui.openWindow({
url: "index.html",
id: "index",
createNew: false
});
二:
var h = plus.webview.getLaunchWebview().getURL();
plus.webview.open(h);

2019-03-23 23:57 负责人:无 分享
已邀请:
a***@163.com

a***@163.com (作者) - 购有利

通过摸索,该问题已解决。实际上换个思路就可以解决问题,用evalJS刷新首页就行了。

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