查看: 220|回复: 0

MUI 常用操作总结

[复制链接]

474

主题

474

帖子

999万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9995166
发表于 2019-4-4 16:57:30 | 显示全部楼层 |阅读模式
1、刷新页面

                window.location.reload();




   2、显示加载提示

              plus.nativeUI.showWaiting("正在努力加载中...");
              plus.nativeUI.closeWaiting();






   3、在一个页面中显示其他页面
      【 HTML代码 】

                 <div class="mui-content">
                         <div id="datalist">
                        </div>
                   </div>






      【 JS代码 】

  mui('#datalist').load('https://www.baidu.com/', function(response) {});

   4、本地存储方式
       1、使用plus

               plus.storage.setItem(key, value);
               plus.storage.getItem(key);
               [注:不能存储数字,如是数字可通过 value+"" 转换为字符]
通过指定key移除元素: plus.storage.removeItem(key);









      2、使用localStorage

              localStorage.setItem(key, value);
              localStorage.getItem(key);
              localStorage.clear();//移除全部


  5、退出应用
       1、直接退出

            plus.runtime.quit();
       2、判断用户的操作再退出

              var first = null;
              mui.back = function() {
                   //首页返回键处理
                   //处理逻辑:1秒内,连续两次按返回键,则退出应用;
                   if(!first) {
                       first = new Date().getTime();
                       mui.toast('英诚软件:再按一次退出应用');
                       setTimeout(function() {
                            first = null;
                       }, 1000);
                   } else {
                        if(new Date().getTime() - first < 1000) {
                                plus.runtime.quit();
                        }
                   }
            }
            [ 以上退出应用操作对ios系统无效,ios只可重启 ]


     6、重启应用

          plus.runtime.restart();
          [  Android/IOS 都有效  ]


     7、返回上一页面

         var old_back = mui.back;
          old_back();


     8、返回上上一页面

        var c = plus.webview.currentWebview();
        var b = c.opener();
        var a = c.opener().opener();

     9、禁止安卓在tab选项卡中输入中文下方选项卡也弹起
           在选项卡的首页,plusReady中添加代码

                if(!mui.os.ios) {
                     var height = document.documentElement.clientHeight || document.body.clientHeight;
                    window.onresize = function() {
                           var heightView = document.documentElement.clientHeight || document.body.clientHeight;
                          if(heightView < height) {
                                    plus.webview.currentWebview().setStyle({
                                            height: height
                                     });                                                      plus.webview.getWebviewById('examples/order/order.html').setStyle({
                                           height: (height * 1 - 51)
                                     });
                           }
                 }
            }
[  有轻微bug 在子页面输入时,会出现回到首页的现象,如子页面未包含文本框,可使用]


   10、文本框在IOS系统中无效
        【 CSS 中添加】

         input {
                  -webkit-user-select: auto;
          }

     11、设置 li标签 最后一行数据时, 隐藏下划线
        【 CSS中添加 】

            .mui-table-view:after {
                   position: absolute;
                   right: 0;
                   bottom: 0;
                   left: 0;
                   height: 0px;
                   content: '';
                   -webkit-transform: scaleY(.5);
                   transform: scaleY(.5);
                   background-color: #c8c7cc;
            }

     12、设置 li 隐藏下划线

           .mui-table-view-cell:after {
                   height: 0
            }
            [   如需隐藏li标签下所有下划线,则11+12   ]


    13、删除ul标签下所有li标签

           $('#listMoblie li').each(function() {
                    $(this).remove();
            });
           [  listMoblie:ul标签的id  ]


  14、得到ul 下所有的 input对象以及value值

            var kcvalue = "";
            var kclist = $("ul li input");
            kclist.each(function() {
                    kcvalue = kcvalue + this.value + ";";
            });
            [  kcvalue:ul标签下所有li标签下的input的value值  以;进行分割  ]
            [  kclist:得到的li对象 (如需得到其他对象 将input 改成其他标签的值即可  如$("ul li lable");得到所有a标签的值 】
            [  注:lable的取值: this.innerText  ]

     15、ajax访问后台非json格式的json数据

           mui.ajax(url, {
                   dataType: 'html', //服务器返回json格式数据
                   type: 'post', //HTTP请求类型
                   data: {},
                   success: function(data) {
                   },error: function() {
                   }
            })


     16、解析:后台传过来的json数据为html格式

                  var listdata = eval('(' + data + ')');


     17、 程序睡眠
         【 JS 】

           function sleep(numberMillis) {
                 var now = new Date();
                 var exitTime = now.getTime() + numberMillis;
                 while(true) {
                    now = new Date();
                    if(now.getTime() > exitTime)
                        return;
                  }
            }
     18、mui 预加载
         1.可在程序的运行的首页添加一个页面,此页面显示一张图片即可

         2.在此页面添加 【 js代码 】
            mui.plusReady(function() {

                var page = mui.preload({
                    url: 'index.html', //需要加载的页面url
                    id: 'index.html',  //默认使用当前页面的url作为id
                    styles: {}, //窗口参数
                    extras: {} //自定义扩展参数
                });

                setTimeout(function() {
                    var array = plus.webview.all();
                    if(array) {
                        for(var i = 0, len = array.length; i < len; i++) {
                            console.log(array[i].getURL());
                            tiaozhuan();
                        }
                    }
                }, 5000)
            })

            function tiaozhuan() {
                mui.openWindow({
                    id: 'index.html', //b页面id
                    show: {
                        autoShow: true, //页面loaded事件发生后自动显示,默认为true
                        aniShow: "slide-in-right"
                    },
                });
            }

            [5000:时间可自己调整]

     19、重复执行某段代码

           setInterval(function() {
                    //需要执行的代码
           },1000);
          [  每隔1000执行以上代码块  ]


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|霸气资源网

GMT+8, 2019-10-19 05:37 , Processed in 0.287882 second(s), 34 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.