mui ——底部tab切换

效果展示:

1.图标为icon字体

HTML

<nav class="mui-bar mui-bar-tab">
<a id="defaultTab" class="mui-tab-item mui-active" href="suoYouWenTi.html">
<span class="mui-icon mui-icon-help"><span class="mui-badge">9</span></span>
<span class="mui-tab-label">所有提问</span>
</a>
<a class="mui-tab-item " href="woDeWenTi.html">
<span class="mui-icon mui-icon-contact"></span>
<span class="mui-tab-label">我的提问</span>
</a>
<a class="mui-tab-item" href="tiWen.html">
<span class="mui-icon mui-icon-compose"></span>
<span class="mui-tab-label">提问</span>
</a>
</nav>

CSS

mui默认

JS

<script type="text/javascript" charset="utf-8">
//mui初始化
mui.init();
var subpages = ['suoYouWenTi.html', 'woDeWenTi.html', 'tiWen.html'];
var subpage_style = {
top: '0',
bottom: '50px'
};
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;
}
//显示目标选项卡
if (mui.os.ios || aniShow[targetTab]) {
plus.webview.show(targetTab);
} else {
var temp = {};
temp[targetTab] = "true";
mui.extend(aniShow, temp);
plus.webview.show(targetTab, "fade-in", 300);
}
//隐藏当前;
plus.webview.hide(activeTab);
//更改当前活跃的选项卡
activeTab = targetTab;
});
</script>

注释:底部添加红色角标:<span class="mui-badge">9</span>,若不想要图片只需要将图片删除即可

 

 2.图标为图片格式

HTML

<nav class="mui-bar mui-bar-tab">
<a id="axx" class="mui-tab-item mui-show mui-active" href="html/yunYingGuanLi/yunYingGuanLi.html">
<div class="box">
<img id="img_axx" src="img/icon/index1.png"><br />
<span class="mui-tab-label">运营状况</span>
</div>
</a>
<a id="defaultTab" class="mui-tab-item mui-show" href="html/caiWuGuanLi/caiWuGuanLi.html">
<div class="box">
<img id="img_defaultTab" src="img/icon/cw_guanli.png">
<br />
<span class="mui-tab-label">经营状况</span>
</div>
</a>
<a id="abm" class="mui-tab-item" href="html/tongXunLu/tongXunLu.html">
<div class="box">
<img id="img_abm" src="img/icon/tongXunLu.png">
<br />
<span class="mui-tab-label txl">通讯录</span>
</div>
</a>
<a id="atxl" class="mui-tab-item mui-show" href="html/woDe/woDe.html">
<div class="box">
<img id="img_atxl" src="img/icon/woDe.png">
<br />
<span class="mui-tab-label">我的</span>
</div>
</a>
</nav>

CSS

.mui-tab-item img{
width: 22px;
height: 22px;
margin-top: 3px;
}
#img_abm{
width: 23px;
height: 20px;
margin-top: 5px;
}
.mui-bar .box{
height: 50px;
background: #fff;
border-top: 1px solid #eee;
font-size: 12px;
}
.mui-tab-label{
display: block;
height: 20px;
line-height: 1;
}
.mui-bar-tab .mui-tab-item.mui-active {
color: #64a6fb;
}

JS

//mui初始化
mui.init();
var showPage = 0; //底部页面切换
var subpages = ['html/yunYingGuanLi/yunYingGuanLi.html', 'html/tongXunLu/tongXunLu.html', 'html/woDe/woDe.html'];
if (localStorage["isRight"] == 'true') {
showPage = 4;
subpages = ['html/yunYingGuanLi/yunYingGuanLi.html', 'html/caiWuGuanLi/caiWuGuanLi.html',
'html/tongXunLu/tongXunLu.html', 'html/woDe/woDe.html'
];
Zepto("#defaultTab").show();
}
var subpage_style = {
top: '0',
bottom: '50px'
};
var aniShow = {};
//创建子页面,首个选项卡页面显示,其它均隐藏;
mui.plusReady(function() {
getProInfo();
document.addEventListener("resume", function() {
if (mui.os.android) {
getProInfo();
}
}, false);

var self = plus.webview.currentWebview();
showPage = 3;
for (var i = 0; i < showPage; 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 enable = true;
mui('.mui-bar-tab').on('tap', 'a', function(e) {
var targetTab = this.getAttribute('href'); //返回指定属性名的属性值
var id = this.getAttribute('id');
if (targetTab == activeTab) {
return;
}

changeImg(id);

//如果不存在则创建,否则直接显示
if (!plus.webview.getWebviewById(targetTab)) {
plus.webview.create(targetTab, targetTab, subpage_style);
}
//若为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;
});

//点击图片高亮
function changeImg(id) {
var idList = [
'img_axx',
'img_defaultTab',
'img_abm',
'img_atxl'
];
var imgList = [
'index',
'cw_guanli',
'tongXunLu',
'woDe'
];
var imgID = 'img_' + id;
for (var i = 0; i < idList.length; i++) {
if (idList[i] == imgID)
document.getElementById(idList[i]).src = 'img/icon/' + imgList[i] + '1.png';
else
document.getElementById(idList[i]).src = 'img/icon/' + imgList[i] + '.png';
}
}

});

function getProInfo() {

}

 

posted @ 2020-08-21 15:49  琼菇凉  阅读(714)  评论(0编辑  收藏  举报