mui 底部导航菜单功能(原创)[通俗易懂]

mui 底部导航菜单功能(原创)[通俗易懂]复制下来就能用不能用就加下我的前端交流QQ群问下简单版 底部导航菜单切换 首页 9 消息 9 消息 mui.init({ subpages:[//先加载首页 { ur

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

mui 底部导航菜单功能(原创)[通俗易懂]

  

简单版

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>底部导航菜单切换</title>
		<link href="../../../css/mui.min.css" rel="stylesheet" />
		
	</head>
	<body>
		<nav class="mui-bar mui-bar-tab " id="nav">
			<a class="mui-tab-item mui-active" id="a1">
				<span class="mui-icon mui-icon-home"></span>
				<span class="mui-tab-label">首页</span>
			</a>
			<a class="mui-tab-item " id="a2">
				<span class="mui-icon mui-icon-email"><span class="mui-badge">9</span></span>
				<span class="mui-tab-label">消息</span>
			</a>
			<a class="mui-tab-item " id="a3">
				<span class="mui-icon mui-icon-email"><span class="mui-badge">9</span></span>
				<span class="mui-tab-label">消息</span>
			</a>
		</nav>
		<script src="../../../js/mui.min.js"></script>
		<script type="text/javascript" charset="utf-8">
			mui.init({
				    subpages:[//先加载首页
				    	{
					      url:'1.html',
					      id:'a1',
					      styles:{
					      	 top:'0px',
		        				bottom:'60px'
					      }
					    }
				   		
				    ],
				    preloadPages:[//缓存其他页面
					    {
					      url:'2.html',
					      id:'a2',
					      styles:{
					      	 top:'0px',
		        			bottom:'60px'
					      }
					    },
					    {
					      url:'3.html',
					      id:'a3',
					      styles:{
					      	 top:'0px',
		        			bottom:'60px'
					      }
					    }
				 	]
				    
				});
			mui.plusReady(function(){ 
				// 获取所有Webview窗口
				var winAll=plus.webview.all();//获取所有窗体
				//console.log(JSON.stringify(winAll)) 
				var a1,a2,a3
				mui("#nav").on("tap","#a1",function(){//点击触发 
					a1=plus.webview.getWebviewById("a1");
					console.log(JSON.stringify(a1)) 
					a1.show()
					a2.hide()//这一步必须有
					a3.hide()//这一步必须有
				})
				mui("#nav").on("tap","#a2",function(){//点击触发
					a2=plus.webview.getWebviewById("a2");
					a2.show()
					
				})
				mui("#nav").on("tap","#a3",function(){//点击触发
					a3=plus.webview.getWebviewById("a3");
					a3.show()
					
				})
			});
		</script>
		
	</body>
</html>

专业版

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>底部导航菜单切换(专业写法)</title>
		<link href="../../../css/mui.min.css" rel="stylesheet" />
		
	</head>
	<body>
		<nav class="mui-bar mui-bar-tab " id="nav">
			
		</nav>
		<script src="../../../js/jquery.js"></script>
		<script src="../../../js/mui.min.js"></script>
		
		<script type="text/javascript" charset="utf-8">
		    var hrefArr=[
						    {"title":"首页","id":"a1","href":"1.html","icon":"mui-icon-home"},
						    {"title":"消息也","id":"a2","href":"2.html","icon":"mui-icon-email"},
						    {"title":"个人中心","id":"a3","href":"3.html","icon":"mui-icon-contact"}
					    ]//要跳转的  页面跟他的ID要先写好
			var navFirst=[],navOther=[],viewObj=[]//第一个页面数据  其他页面数据 窗体对象
			
			mui.plusReady(function(){ 
				navInit()
				clickFun(navFirst[0].id,plus.webview.getWebviewById(navFirst[0].id))
				mui("#nav").on("tap","a",function(e){
					var id=$(this).attr("id")
					var obj=plus.webview.getWebviewById(id)
					clickFun(id,obj)
				})
			});
			function clickFun(id,obj){
				if(id==navFirst[0].id){
						$.each(navOther,function(i,v){
							var otherObj=plus.webview.getWebviewById(v.id)
							otherObj.hide()
						})
					}
				obj.show()
			}
			//初始化html
			function navInit(){
				var html=""
				$.each(hrefArr,function(i,v){
					if(i==0){
						
					}
					html+='<a class="mui-tab-item'+((i==0)?" mui-active":"")+' " id="'+v.id+'">'+
							'<span class="mui-icon '+v.icon+'"></span>'+
							'<span class="mui-tab-label">'+v.title+'</span>'+
						  '</a>'
				})
				$("#nav").html(html)
				$.each(hrefArr,function(i,v){ 
					var arrI={"url":v.href,"id":v.id,styles:{top:'0px',bottom:'60px' }}
					if(i==0){//第一个页面
						navFirst.push(arrI)
					}else{//缓存住的页面
						navOther.push(arrI)
					}
				})
				mui.init({
				    subpages:navFirst,//先加载首页
				    preloadPages:navOther//缓存其他页面
				});
				
			}
			//点击事件初始化
			
		</script>
		
	</body>
</html>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159430.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MySQL 修改字段类型或长度

    MySQL 修改字段类型或长度mysql>altertable表名modifycolumn字段名类型;例如数据库中address表city字段是varchar(30)修改类型可以用(谨慎修改类型,可能会导致原有数据出错)mysql> altertableaddressmodifycolumncitychar(30);修改长度可以用(修改长度,要保证不短与已有数据,以保证原有数

    2022年4月30日
    209
  • MMC卡和SD卡的区别「建议收藏」

    MMC卡和SD卡的区别「建议收藏」目前诸如MMC卡和SD卡等固态内存卡的快速发展,也引起了很多有时是误解的猜想。下面逐个解释一些问题,将会帮助您区分MMC卡和SD卡的关键特征和优点,协助您决定哪一个解决方案对您而言是最好的。 外形尺寸:从两种卡的正面看过去,除了SD卡侧面的的写保护开关,两者的外观是一样的(都是24mmx32mm)。因为这个原因,这两种闪存卡标准常常被混淆。首先,两者的厚度是不同的,…

    2022年6月11日
    42
  • dede首页调用分类信息

    dede首页调用分类信息

    2021年9月20日
    49
  • jmeter安装教程以及jdk环境配置_正版win10下载

    jmeter安装教程以及jdk环境配置_正版win10下载【Jmeter】win10/win11:Jmeter下载、安装、汉化、新机迁移、版本更新(Jmeter4以上版本均适用)

    2025年8月8日
    3
  • 程序员联合开发网chaijiabai_程序员开发手册

    程序员联合开发网chaijiabai_程序员开发手册 程序员创业指导书本文转自http://www.programsalon.com/whydo.asp

    2025年6月13日
    5
  • JS break和continue的区别

    JS break和continue的区别break和continue都是用来控制循环结构的,主要是停止循环。break       有时候我们想在某种条件出现的时候终止循环而不是等到循环条件为false才终止。  这时我们可以使用break来完成。break用于完全结束一个循环,跳出循环体执行循环后面的语句。for(vari=0;i&lt;5;i++){if(i%2!=0){break;//结束…

    2022年5月5日
    70

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号