MUI顶部选项卡的用法(tab-top-webview-main)详解


Posted in Javascript onOctober 08, 2017

前  言 

 MUI是一款最接近原生APP体验的高性能前端框架,它的比较重要的功能是:下拉刷新、侧滑导航、滑动触发操作菜单和顶部(底部)选项卡等

最近用MUI做手机app应用的时候,遇到的小bug。顺便研究了一下这个tab-top-webview-main,这里给大家分享一下。

1主页代码

<!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="external nofollow" rel="external nofollow" rel="stylesheet" />
    <style type="text/css">
      .d1{
        width: 100%;
        height: 50px;
        text-align: center;
        line-height: 50px;
        background-color: #CCCCCC;
      }
    </style>
  </head>
  <body>
    <div class="d1">我是div1,下面是插入的子页面</div> <!--我们将在这个div下边插入子页面-->
  </body>
  <script src="js/mui.min.js"></script>
  <script type="text/javascript">
    mui.init({
      subpages:[{        //下边是初始化,然后这个页面显示我们将插入的页面
        url:"tab-top-webview-main.html",
        id:"tab-top-webview-main.html",
        styles:{
          top:"50px",
          bottom:"0px"
        }
      }]
    })
  </script>
</html>

2子页代码

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Hello MUI</title>
    <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <link rel="stylesheet" href="css/mui.min.css" rel="external nofollow" rel="external nofollow" >
  </head>
  <body>
    <div class="mui-content">
      <div id="slider" class="mui-slider mui-fullscreen">
        <div id="sliderSegmentedControl" class="mui-scroll-wrapper mui-slider-indicator mui-segmented-control mui-segmented-control-inverted">
          <div class="mui-scroll">
            <a class="mui-control-item mui-active" href="#item1mobile" rel="external nofollow" rel="external nofollow" data-wid="tab-top-subpage-1.html">
              推荐
            </a>
            <a class="mui-control-item" href="#item2mobile" rel="external nofollow" data-wid="tab-top-subpage-2.html">
              热点
            </a>
          </div>
        </div>
      </div>
    </div>
    <script src="js/mui.min.js"></script>
    <script src="js/webviewGroup.js" type="text/javascript" charset="utf-8"></script>
    <script>
      mui.init();
      mui.plusReady(function() {
        var group = new webviewGroup("tab-top-webview-main.html", {
          items: [{
            id: "tab-top-subpage-1.html",  //这是子页1的路径
            url: "tab-top-subpage-1.html",
            extras: {}
          }, {
            id: "tab-top-subpage-2.html",  //这是子页2的路径
            url: "tab-top-subpage-2.html",
            extras: {}
          }],
          onChange: function(obj) {
            var c = document.querySelector(".mui-control-item.mui-active");
            if(c) {
              c.classList.remove("mui-active");
            }
            document.querySelector(".mui-scroll .mui-control-item:nth-child(" + (parseInt(obj.index) + 1) + ")").classList.add("mui-active");
          }
        });
        mui(".mui-scroll").on("tap", ".mui-control-item", function(e) {
          var wid = this.getAttribute("data-wid");
          group.switchTab(wid);
        });
      });
      mui.back = function() {
        var _self = plus.webview.currentWebview();
        _self.close("auto");
      }
    </script>
  </body>
</html>

3代码解释

var group = new webviewGroup("tab-top-webview-main.html", {
  items: [{
    id: "tab-top-subpage-1.html",  //这是子页1的路径
    url: "tab-top-subpage-1.html",
    extras: {}
    }, {
      id: "tab-top-subpage-2.html",  //这是子页2的路径
      url: "tab-top-subpage-2.html",
      extras: {}
    }]
  })

1、子页选项卡的超链接a的data-wid=""属性需要设置为对应子页选项卡路径。

<a class="mui-control-item mui-active" href="#item1mobile" rel="external nofollow" rel="external nofollow" data-wid="tab-top-subpage-1.html">
              推荐
</a>

2、这里,new webviewGroup("tab-top-webview-main.html",{})  第一个参数需要传入一个页面的id。需要注意的是,这个页面id 就是我们包含顶部选项卡的页面,也就是当前我们这段js所在的页面

new webviewGroup("tab-top-webview-main.html", {}

3、 items数组中传入的是子页对应选项卡该导入的子页面的id,有几个子页就添加几个子页,中间用逗号分隔

大家如果还有别的需求,可以去MUI网站上查找帮助文档  http://dev.dcloud.net.cn/mui/,还有很多小功能,我会陆续更新的~~~

总结

以上所述是小编个大家介绍的MUI顶部选项卡的用法(tab-top-webview-main)详解,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
jQuery为iframe的body添加click事件的实现代码
Apr 07 Javascript
有关于JS构造函数的重载和工厂方法
Apr 07 Javascript
鼠标拖拽移动子窗体的JS实现
Feb 25 Javascript
jQuery实现html元素拖拽
Jul 21 Javascript
jquery实现的Banner广告收缩效果代码
Sep 02 Javascript
javascript中Date对象应用之简易日历实现
Jul 12 Javascript
JS搜狐面试题分析
Dec 16 Javascript
Vue.js双向绑定实现原理详解
Dec 22 Javascript
Ajax基础知识详解
Feb 17 Javascript
layui实现数据表格点击搜索功能
Mar 26 Javascript
原生js实现的金山打字小游戏(实例代码详解)
Mar 16 Javascript
vue实现锚点定位功能
Jun 29 Vue.js
JS动态修改网页body的背景色实例代码
Oct 07 #Javascript
JS实现简单表格排序操作示例
Oct 07 #Javascript
javascript数组定义的几种方法
Oct 06 #Javascript
node.js利用mongoose获取mongodb数据的格式化问题详解
Oct 06 #Javascript
node.js中http模块和url模块的简单介绍
Oct 06 #Javascript
你应该知道的几类npm依赖包管理详解
Oct 06 #Javascript
vue-cli构建项目使用 less的方法
Oct 04 #Javascript
You might like
PHP+SQL 注入攻击的技术实现以及预防办法
2011/01/27 PHP
php获取网页上所有链接的方法
2015/04/03 PHP
PHP指定截取字符串中的中英文或数字字符的实例分享
2016/03/18 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
php语言注释,单行注释和多行注释
2018/01/21 PHP
FormValid0.5版本发布,带ajax自定义验证例子
2007/08/17 Javascript
用JQuery实现表格隔行变色和突出显示当前行的代码
2012/02/10 Javascript
使用js实现雪花飘落效果
2013/08/26 Javascript
禁止拷贝网页内容的js代码
2014/01/22 Javascript
node.js中的定时器nextTick()和setImmediate()区别分析
2014/11/26 Javascript
JavaScript常用的返回,自动跳转,刷新,关闭语句汇总
2015/01/13 Javascript
Bootstrap每天必学之基础排版
2015/11/20 Javascript
Bootstrap前端开发案例二
2016/06/17 Javascript
解析如何利用iframe标签以及js制作时钟
2016/12/08 Javascript
JavaScript创建对象方法实例小结
2018/09/03 Javascript
详解关于Vue版本不匹配问题(Vue packages version mismatch)
2018/09/17 Javascript
浅谈layui 绑定form submit提交表单的注意事项
2019/10/25 Javascript
解决vue中的无限循环问题
2020/07/27 Javascript
js实现缓动动画
2020/11/25 Javascript
python友情链接检查方法
2015/07/08 Python
利用Python实现图书超期提醒
2016/08/02 Python
Python正则替换字符串函数re.sub用法示例
2017/01/19 Python
Python3解决棋盘覆盖问题的方法示例
2017/12/07 Python
python的格式化输出(format,%)实例详解
2018/06/01 Python
在python3中pyqt5和mayavi不兼容问题的解决方法
2019/01/08 Python
Python Django给admin添加Action的方法实例详解
2019/04/29 Python
python 中的paramiko模块简介及安装过程
2020/02/29 Python
python 用pandas实现数据透视表功能
2020/12/21 Python
HTML5实现多张图片上传功能
2016/03/11 HTML / CSS
全球最大的游戏市场:G2A
2018/07/05 全球购物
接口的多继承会带来哪些问题
2015/08/17 面试题
优秀毕业自我鉴定
2014/02/15 职场文书
村干部承诺书
2014/03/28 职场文书
水毁工程实施方案
2014/04/01 职场文书
2015年学校消防安全工作总结
2015/10/14 职场文书
Ubuntu安装Mysql+启用远程连接的完整过程
2022/06/21 Servers