HTML5 混合APP开发学习笔记(十五)——MUI框架

MUI框架

简介:
MUI是一款高性能App框架,也是目前最接近原生App效果的UI框架。MUI中的UI组件设计是以iOS 7为基础,补充了部分Android特有控件。MUI框架有效的解决了原有框架的一些问题,可以很方便开发出高性能App。MUI的定位是:最接近原生体验的移动App的UI框架。正是这样的定位,产生了MUI的几个特点:轻、小、只涉及UI、只为移动App而生、界面风格原生化。MUI不同于jQuery,没有封装DOM操作,与UI无关的都不做。

MUI页面整体布局

构建页面的整体布局,顶部和底部导航栏都固定不动,具体内容放置在 <div class=“mui-content”> 容器里面
在浏览内容的时候,导航栏固定,仅主体部分内容改变
首页

<!doctype html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
		<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
		<link href="css/mui.min.css" rel="stylesheet" />
	</head>

	<body>
		<header class="mui-bar mui-bar-nav">
			<a class="mui-action-back mui-icon mui-icon-close mui-pull-right"></a>
			<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
			<h1 class="mui-title">标题</h1>
		</header>
		<nav class="mui-bar mui-bar-tab">
			<a class="mui-tab-item mui-active">
				<span class="mui-icon mui-icon-home"></span>
				<span class="mui-tab-label">首页</span>
			</a>
		</nav>
		<div class="mui-content">
			//主体内容
		</div>
		<script src="js/mui.min.js"></script>
		<script type="text/javascript">
			mui.init()
		</script>
	</body>

</html>

内置方法和对象

  1. mui()方法:相当于jQuery的$()方法,使用css选择器获取HTML对象,返回mui的对象数组
    将mui对象转化为DOM对象:
    var obj1 = mui(’#title’); //miu 对象
    var obj2 = obj[0]; // DOM对象
  2. each()方法:相当于jQuery的each()方法,进行遍历操作
  3. init()方法:MUI框架将很多功能配置都集中在mui.init()方法中,要使用某项功能,只需要在mui.init()方法中完成对应参数配置即可,目前支持在mui.init方法中配置的功能包括:创建子页面、关闭页面、手势事件配置、预加载、下拉刷新、上拉加载、设置系统状态栏背景颜色
  4. scrollTo()方法:滚动窗口屏幕到指定位置
    mui.scrollTo(ypos[,duration][,handler])
    • ypos是整型值,要在窗口文档显示区左上角显示的文档的 y 坐标。
    • duration是滚动时间周期,单位是毫秒。
    • handler是滚动结束后执行的回调函数。
  5. mui.os对象:用于判断当前运行环境
    mui.os.plus:是否在5+基座中运行
    mui.os.android、mui.os.ios、mui.os.ipad、mui.os.iphone类似

事件管理

  1. tap事件:单击触发
element.addEventListener('tap',function(){
        //点击响应逻辑
 },false);
  1. 事件绑定:mui(selecto1).on(event,selector2,handler);
    event是String类型,代表要监听的事件名称,如“tap”,handler是事件触发时的回调函数,selector1和selector2都是选择器,但是selector2必须是selector1代表的HTML元素对象下面的后代选择器
  2. 事件取消:取消绑定的事件
	 mui(selector).off()//取消selector所有事件
     mui(selector1).off(event,selector2)//取消作用于selector2的所有事件
     mui(selector1).off(event,selector2,handler)//取消作用于selector2的特定事件
  1. 事件触发:动态触发特定DOM元素的事件 mui.trigger(element,event,data);
  2. 手势事件:介绍常用的手势表示方法
分类事件名说明
点击tap单击屏幕
点击doubletap双击屏幕
长按longtap长按屏幕
长按hold按住屏幕
长按release离开屏幕
滑动swipeleft向左滑动
滑动swiperight向右滑动
滑动swipeup向上滑动
滑动swipedown向下滑动
拖动dragstart拖动开始
拖动drag拖动
拖动dragedd拖动结束

窗口管理

  1. HTML5+初始化: mui.plusReady(function(){ … });
  2. 打开新窗口:mui.openWindow(参数配置对象);
  3. 关闭窗口:MUI框架将窗口关闭功能封装在mui.back方法中,具体执行逻辑是:当前Webview为预加载页面,则hide当前Webview;否则,close当前Webview,共有三种方法实现
    • 点击class属性中包含"mui-action-back"的控件
    • 在屏幕内快速向右滑动:mui.init({swipeBack:true//启用右滑关闭功能})
    • Android自动监听back键:
mui.init({
	keyEventBind:{
		backbutton:true//启用右滑关闭功能}
		})
  1. 预加载:提前创建窗口,在跳转时之间得到窗口,减少加载的过程
mui.init({
  preloadPages:[
    {
      url:prelaod-page-url,//页面路径
      id:preload-page-id,//Webview的id
      styles:{},//窗口参数
      extras:{},//自定义扩展参数
      subpages:[{},{}]//预加载页面的子页面
    }
  ],
  preloadLimit:5//预加载窗口数量限制(一旦超出,先进先出)默认不限制
});
  1. 子页面:多个窗口合成一个,方便实现局部滚动功能
mui.init({
    subpages:[{
      url:'list.html',
      id:'list.html',
      styles:{
        top:'45px',//mui标题栏默认高度为45px;
        bottom:'45px'//默认为0px,可不定义;
      }
    }]
  }); 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值