ylbtech-DCloud-MUI:utils |
1.返回顶部 |
mui框架将不少功能配置都集中在mui.init方法中,要使用某项功能,只须要在mui.init方法中完成对应参数配置便可,目前支持在mui.init方法中配置的功能包括:建立子页面、关闭页面、手势事件配置、预加载、下拉刷新、上拉加载、设置系统状态栏背景颜色。css
mui.init({ //子页面 subpages: [{ //... }], //预加载 preloadPages:[ //... ], //下拉刷新、上拉加载 pullRefresh : { //... }, //手势配置 gestureConfig:{ //... }, //侧滑关闭 swipeBack:true, //Boolean(默认false)启用右滑关闭功能 //监听Android手机的back、menu按键 keyEventBind: { backbutton: false, //Boolean(默认true)关闭back按键监听 menubutton: false //Boolean(默认true)关闭menu按键监听 }, //处理窗口关闭前的业务 beforeback: function() { //... //窗口关闭前处理其余业务详情点击 ↑ "关闭页面"连接查看 }, //设置状态栏颜色 statusBarBackground: '#9defbcg', //设置状态栏颜色,仅iOS可用 preloadLimit:5//预加载窗口数量限制(一旦超出,先进先出)默认不限制 })
经过statusBarBackground:rgb
属性设置状态栏颜色(iOS7.0+、安卓不支持)格式为#RRGGBB。jquery
mui.init({ statusBarBackground: '#9defbcg', })
mui默认会监听Android手机的物理按键(back&menu)
,若不但愿自动处理按键可经过如下方式关闭android
mui.init({ //监听Android手机的back、menu按键 keyEventBind: { backbutton: true, //Boolean(默认true)关闭back按键监听 menubutton: true //Boolean(默认true)关闭menu按键监听 }, })
mui使用css选择器获取HTML元素,返回mui对象数组。mui("p")
:选取全部<p>
元素mui("p.title")
:选取全部包含.title
类的<p>
元素ios
若要将mui对象转化成dom对象,可以使用以下方法(相似jquery对象转成dom对象):json
//obj1是mui对象 var obj1 = mui("#title"); //obj2是dom对象 var obj2 = obj1[0];
MUI框架的定位是“最接近原生体验的移动App的UI框架”, 所以和jQuery有所区别,不多为简化DOM操做而封装API,具体可参考MUI产品概述; 该函数的设计目的,更可能是为了配合MUI插件使用,好比图片轮播、下拉刷新、区域滚动等,以下为详细示例:数组
示例1:跳转到图片轮播的第二张图片微信
mui('.mui-slider').slider().gotoItem(1);
示例2:从新开启上拉加载框架
mui('#pullup-container').pullRefresh().refresh(true);
mui.each()
去遍历数组或json对象,也可使用
mui(selector).each()
去遍历DOM结构。
this
关键字代替
输出当前数组中每一个元素的平方dom
var array = [1,2,3] mui.each(array,function(index,item){ console.log(item*item); })
当前页面中有三个字段,以下:iphone
<div class="mui-input-group"> <div class="mui-input-row"> <label>字段1:</label> <input type="text" class="mui-input-clear" id="col1" placeholder="请输入"> </div> <div class="mui-input-row"> <label>字段2:</label> <input type="text" class="mui-input-clear" id="col2" placeholder="请输入"> </div> <div class="mui-input-row"> <label>字段3:</label> <input type="text" class="mui-input-clear" id="col3" placeholder="请输入"> </div> </div>
each()
方法循环校验,以下:
var check = true; mui(".mui-input-group input").each(function () { //若当前input为空,则alert提醒 if(!this.value||trim(this.value)==""){ var label = this.previousElementSibling; mui.alert(label.innerText+"不容许为空"); check = false; return false; } }); //校验经过,继续执行业务逻辑 if(check){ //..... }
将两个对象合并成一个对象。
var target = { company:"dcloud", product:{ mui:"小巧、高效" } } var obj1 = { city:"beijing", product:{ HBuilder:"飞同样的编码" } } mui.extend(target,obj1); //输出:{"company":"dcloud","product":{"HBuilder":"飞同样的编码"},"city":"beijing"} console.log(JSON.stringify(target));
从如上输出能够看到,product节点下的mui被替换成了HBuilder,由于默认仅合并对象根节点下的key、value;若是想深度合并,则能够传入deep
参数,以下:
var target = { company:"dcloud", product:{ mui:"小巧、高效" } } var obj1 = { city:"beijing", product:{ HBuilder:"飞同样的编码" } } //支持深度合并 mui.extend(true,target,obj1); //输出:{"company":"dcloud","product":{"mui":"小巧、高效","HBuilder":"飞同样的编码"},"city":"beijing"} console.log(JSON.stringify(target));
setTimeOut封装
滚动窗口屏幕到指定位置,该方法是对window.scrollTo()
方法在手机端的加强实现,可设定滚动动画时间及滚动结束后的回调函数;鉴于手机屏幕大小,该方法仅可实现屏幕纵向滚动。
1秒钟以内滚动到页面顶部
mui.scrollTo(0,1000);
咱们常常会有经过navigator.userAgent
判断当前运行环境的需求,mui对此进行了封装,经过调用mui.os.XXX便可
检测是否为iOS或安卓系统版本是否小于4.4
if(mui.os.ios||(mui.os.android&&parseFloat(mui.os.version)<4.4)){ //... }
2.返回顶部 |
3.返回顶部 |
4.返回顶部 |
5.返回顶部 |
6.返回顶部 |
![]() |
做者:ylbtech 出处:http://ylbtech.cnblogs.com/ 本文版权归做者和博客园共有,欢迎转载,但未经做者赞成必须保留此段声明,且在文章页面明显位置给出原文链接,不然保留追究法律责任的权利。 |
mui须要在页面加载时初始化不少基础控件,如监听返回键,所以务必在每一个页面中调用