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)
上一篇 2022年7月26日 下午12:46
下一篇 2022年7月26日 下午1:00


相关推荐

  • 在线体验流媒体服务器软件系统 (密码:123456)

    在线体验流媒体服务器软件系统 (密码:123456)无需下载体验,无需注册,无需费用,直接点击进入体验流媒体服务器直播,点播。感受八百里流媒体FlashP2P技术的先进。 流媒体服务器缩略图:如何在线体验:http://www.800li.net:8085密码:123123网站前台示例:http://www.800li.net/phpvod/或:www.ycitv.org/video

    2022年5月10日
    46
  • HTML+CSS登陆界面实例

    HTML+CSS登陆界面实例登录界面截图项目代码仓库地址项目的代码放在了github的代码仓库当中:点我项目访问地址将登录界面项目部署在了github上面:点我项目代码解析项目的界面简析主要部分是Login的模块,包括username文本框和password文本框以及Login的按钮将Login模块进行居中,并且设置背景半透明添加背景框项目基本框架html代码解析大写的Login英文字母采用标题…

    2022年6月11日
    27
  • js动画和css3动画_js控制css动画

    js动画和css3动画_js控制css动画动画css动画js动画css动画js动画

    2022年10月15日
    4
  • 测试用例设计——边界值分析法

    测试用例设计——边界值分析法在前面的测试用例设计 等价类划分法中 我们使用等价类划分法给两位数加法器设计了测试用例 但在测试过程中我们发现了一个问题 为什么我们用等价类法设计的测试用例没有发现这个问题呢 查看一下代码 发现程序员粗心 边界条件设置错误了 无数的测试实践表明 大量的故障往往发生在输入定义域或输出值域的边界上 而不是在其内部 因此 针对各种边界情况设计测试用例 通常可能会发现更多的 bug 边界值分析法

    2026年3月16日
    2
  • epoll原理详解及epoll反应堆模型

    epoll原理详解及epoll反应堆模型设想一个场景 有 100 万用户同时与一个进程保持着 TCP 连接 而每一时刻只有几十个或几百个 TCP 连接是活跃的 接收 TCP 包 也就是说在每一时刻进程只需要处理这 100 万连接中的一小部分连接 那么 如何才能高效的处理这种场景呢 进程是否在每次询问操作系统收集有事件发生的 TCP 连接时 把这 100 万个连接告诉操作系统 然后由操作系统找出其中有事件发生的几百个连接呢 实际上 在 Linux2 4 版本以前

    2026年3月19日
    2
  • VCLibs库文件包下载_怎么使用已有的加速包

    VCLibs库文件包下载_怎么使用已有的加速包本文以MDI应用程序为例说明如何在已有的VC++工程中使用BCG界面库,我的开发环境为VS2003。1、将BCG/BCGCBPro目录路径添加到“项目属性->C/C++->常规->附加包含目录”中,同时将BCG/Bin目录路径添加到“项目属性->链接器->常规->附加库目录”中。2、确保在CWinApp派生类(设为CMyApp)的InitInstance()成员函数中调用AfxOl

    2022年10月8日
    6

发表回复

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

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