MUI 示例注释

3 篇文章 0 订阅
2 篇文章 0 订阅

ListView 及 上拉加载,下拉刷新

方式一: 双页面,双webview (或iframe)

pullrefresh_main.html

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></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">
    </head>

    <body>
        <header class="mui-bar mui-bar-nav">
            <a id="back" class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
            <h1 id="title" class="mui-title">下拉刷新和上拉加载更多</h1>
        </header>
        <div class="mui-content"></div>
    </body>
    <script src="../../js/mui.min.js"></script>
    <script type="text/javascript">
        //启用双击监听
        mui.init({
            subpages:[{
                url:'pullrefresh_sub.html',
                id:'pullrefresh_sub.html',
                styles:{
                    top: '45px',
                    bottom: '0px',
                }
            }]
        });
    </script>

</html>

以上是主页面, 双webview必须要要2个页面, MUI会自动根据环境渲染成双webview( 手机APP ), 或 iframe方式 ( 手机wap, 微信 )
主页面一般是放置一个头部导航, 如仅需下拉刷新而不需要其他, 有一个子页面就足够(即子页面也能单独运行),之所以这么做大概是和 触摸滚动事件有关

pullrefresh_sub.html

<!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">
    </head>

    <body>

        <!--下拉刷新容器-->
        <div id="pullrefresh" class="mui-content mui-scroll-wrapper">
            <div class="mui-scroll">
                <!--数据列表-->
                <ul class="mui-table-view mui-table-view-chevron">
                    <li class="mui-table-view-cell">
                        <a href="" class="mui-navigate-right">
                            <img class="mui-media-object mui-pull-left" src="http://placehold.it/40x30" />
                            <div class="mui-media-body">
                                Java
                                <p>What can java do , web ? mobile? desktop? scripts?</p>
                            </div>
                        </a>
                    </li>
                    <li class="mui-table-view-cell">
                        <a href="" class="mui-navigate-right">
                            <img class="mui-media-object mui-pull-left" src="http://placehold.it/40x30" />
                            <div class="mui-media-body">
                                Python
                                <p>We will use python to deal with anything!!!</p>
                            </div>
                        </a>
                    </li>
                    <li class="mui-table-view-cell">
                        <a href="" class="mui-navigate-right">
                            <img class="mui-media-object mui-pull-left" src="http://placehold.it/40x30" />
                            <div class="mui-media-body">
                                Go
                                <p>When you use golang, you are really just go!!</p>
                            </div>
                        </a>
                    </li>
                    <li class="mui-table-view-cell">
                        <a href="" class="mui-navigate-right">
                            <img class="mui-media-object mui-pull-left" src="http://placehold.it/40x30" />
                            <div class="mui-media-body">
                                PHP
                                <p>I'm the best program language all of the world?</p>
                            </div>
                        </a>
                    </li>
                    <li class="mui-table-view-cell">
                        <a href="" class="mui-navigate-right">
                            <img class="mui-media-object mui-pull-left" src="http://placehold.it/40x30" />
                            <div class="mui-media-body">
                                C
                                <p>Did you use gcc, it's very nice!</p>
                            </div>
                        </a>
                    </li>
                    <li class="mui-table-view-cell">
                        <a href="" class="mui-navigate-right">
                            <img class="mui-media-object mui-pull-left" src="http://placehold.it/40x30" />
                            <div class="mui-media-body">
                                Java
                                <p>What can java do , web ? mobile? desktop? scripts?</p>
                            </div>
                        </a>
                    </li>
                    <li class="mui-table-view-cell">
                        <a href="" class="mui-navigate-right">
                            <img class="mui-media-object mui-pull-left" src="http://placehold.it/40x30" />
                            <div class="mui-media-body">
                                Python
                                <p>We will use python to deal with anything!!!</p>
                            </div>
                        </a>
                    </li>
                    <li class="mui-table-view-cell">
                        <a href="" class="mui-navigate-right">
                            <img class="mui-media-object mui-pull-left" src="http://placehold.it/40x30" />
                            <div class="mui-media-body">
                                Go
                                <p>When you use golang, you are really just go!!</p>
                            </div>
                        </a>
                    </li>
                    <li class="mui-table-view-cell">
                        <a href="" class="mui-navigate-right">
                            <img class="mui-media-object mui-pull-left" src="http://placehold.it/40x30" />
                            <div class="mui-media-body">
                                PHP
                                <p>I'm the best program language all of the world?</p>
                            </div>
                        </a>
                    </li>
                    <li class="mui-table-view-cell">
                        <a href="" class="mui-navigate-right">
                            <img class="mui-media-object mui-pull-left" src="http://placehold.it/40x30" />
                            <div class="mui-media-body">
                                C
                                <p>Did you use gcc, it's very nice!</p>
                            </div>
                        </a>
                    </li>
                </ul>
            </div>
        </div>
        <script src="../../js/mui.min.js"></script>
        <script>
            mui.init({
                pullRefresh: {
                    container: '#pullrefresh',
                    down: {
                        callback: pulldownRefresh
                    },
                    up: {
                        contentrefresh: '正在加载...',
                        callback: pullupRefresh
                    }
                }
            });
            /**
             * 下拉刷新具体业务实现
             */
            function pulldownRefresh() {
                setTimeout(function() {
                    var table = document.body.querySelector('.mui-table-view');
                    var cells = document.body.querySelectorAll('.mui-table-view-cell');
                    for (var i = cells.length, len = i + 3; i < len; i++) {
                        var li = document.createElement('li');
                        li.className = 'mui-table-view-cell';
                        li.innerHTML = '<a href="" class="mui-navigate-right">'+
                            '<img class="mui-media-object mui-pull-left" src="http://placehold.it/40x30" />'+
                            '<div class="mui-media-body">'+
                            '   Java'+ (i+1) +
                            '   <p>What can java do , web ? mobile? desktop? scripts?</p>'+
                            '</div>';
                        //下拉刷新,新纪录插到最前面;
                        table.insertBefore(li, table.firstChild);
                    }
                    mui('#pullrefresh').pullRefresh().endPulldownToRefresh(); //refresh completed
                }, 1000);
            }
            var count = 0;
            /**
             * 上拉加载具体业务实现
             */
            function pullupRefresh() {
                setTimeout(function() {
                    mui('#pullrefresh').pullRefresh().endPullupToRefresh((++count > 2)); //参数为true代表没有更多数据了。
                    var table = document.body.querySelector('.mui-table-view');
                    var cells = document.body.querySelectorAll('.mui-table-view-cell');
                    for (var i = cells.length, len = i + 5; i < len; i++) {
                        var li = document.createElement('li');
                        li.className = 'mui-table-view-cell';

                        li.innerHTML = '<a href="" class="mui-navigate-right">'+
                            '<img class="mui-media-object mui-pull-left" src="http://placehold.it/40x30" />'+
                            '<div class="mui-media-body">'+
                            '   Java'+ i +
                            '   <p>What can java do , web ? mobile? desktop? scripts?</p>'+
                            '</div>';
                        table.appendChild(li);
                    }
                }, 1000);
            }
        </script>
    </body>

</html>

子页面仅能放置一个下拉刷新容器, 容器内部可自定义
经测试, 若仅在浏览器上运行, 仅子页面即可单独运行,也可添加除下拉容器之外其他代码, 但在手机端 仅子页面无法运行, 仅 上拉加载可运行
推荐做法: 使用双webview方式时, 必须使用双页面, 双页面模式 具有更好的兼容性, 可在 浏览器及手机app完美运行

方式二: 单webview模式

pullrefresh.html

<!doctype html>
<html lang="en">

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

    <body>
        <header class="mui-bar mui-bar-nav">
            <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
            <h1 class="mui-title">List</h1>
        </header>

        <div class="mui-content" id="pullrefresh">
            <!--数据列表-->
            <ul class="mui-table-view mui-table-view-chevron">
                <li class="mui-table-view-cell">
                    <a href="" class="mui-navigate-right">
                        <img class="mui-media-object mui-pull-left" src="http://placehold.it/40x30" />
                        <div class="mui-media-body">
                            Java
                            <p>What can java do , web ? mobile? desktop? scripts?</p>
                        </div>
                    </a>
                </li>
                <li class="mui-table-view-cell">
                    <a href="" class="mui-navigate-right">
                        <img class="mui-media-object mui-pull-left" src="http://placehold.it/40x30" />
                        <div class="mui-media-body">
                            Python
                            <p>We will use python to deal with anything!!!</p>
                        </div>
                    </a>
                </li>
                <li class="mui-table-view-cell">
                    <a href="" class="mui-navigate-right">
                        <img class="mui-media-object mui-pull-left" src="http://placehold.it/40x30" />
                        <div class="mui-media-body">
                            Java
                            <p>What can java do , web ? mobile? desktop? scripts?</p>
                        </div>
                    </a>
                </li>
                <li class="mui-table-view-cell">
                    <a href="" class="mui-navigate-right">
                        <img class="mui-media-object mui-pull-left" src="http://placehold.it/40x30" />
                        <div class="mui-media-body">
                            Python
                            <p>We will use python to deal with anything!!!</p>
                        </div>
                    </a>
                </li>
            </ul>
        </div>
        <script src="../../js/mui.js" type="text/javascript" charset="utf-8"></script>
        <script type="text/javascript">
            mui.init({
                pullRefresh: {
                    container: '#pullrefresh',
                    down: {
                        style: 'circle',
                        offset: '48px',
                        callback: pulldownRefresh
                    },
                    up: {
                        auto: true,
                        contentrefresh: '正在加载...',
                        callback: pullupRefresh
                    }
                }
            });

            function pullupRefresh(){
                setTimeout(function() {
                    mui.toast("messgea")
                    mui('#pullrefresh').pullRefresh().endPullup()
                }, 1000)
            }

            function pulldownRefresh() {
                setTimeout(function() {
                    mui.toast("messgea")
                    mui('#pullrefresh').pullRefresh().endPulldown()
                }, 1000)
            }
        </script>
    </body>

</html>

经实测, 此方式仅能在 手机端运行, 若需在微信,浏览器运行, 则有另一种写法, 需要引入对应js , 定义下拉的样式,而且效果还没原生组件好
所以推荐少用此方式, 偶尔用还是可以的, 只是迁移到微信端时 需做修改

List 总结

最好多使用 双webview模式, 即双网页模式

表单篇

代码

<!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" />
        <link href="../../css/mui.picker.all.css" rel="stylesheet" />
        <style>
            .red {
                color: orangered;
            }

            .bg-red {
                background: orangered;
                border: none;
            }

            .bg-red :active {
                background: red;
                border: none;
            }

            .grey {
                color: grey;
            }

            .title {
                font-size: 16px;
                font-weight: 400;
            }

            .area {
                padding-top: 9px;
                padding-right: 35px;
                color: #AAAAAA;
                font-size: 14px;
            }

            h5 {
                margin-top: 15px;
                margin-bottom: 5px;
                margin-left: 5px;
            }
        </style>
    </head>

    <body>

        <header class="mui-bar mui-bar-nav">
            <a class="mui-action-back mui-icon grey mui-icon-left-nav mui-pull-left"></a>
            <a class="mui-btn mui-btn-link mui-pull-right" href="javascript:;" onclick="saveAddress()"><span class="red">保存</span></a>
            <span class="mui-title title mui-pull-left">添加新地址</span>
        </header>
        <div class="mui-content address">
            <form class="mui-input-group">
                <div class="mui-input-row">
                    <label>收货人</label>
                    <input type="text" name="name" class="mui-input-clear" placeholder="" />
                </div>
                <div class="mui-input-row">
                    <label>联系电话</label>
                    <input type="text" name="phone" placeholder="">
                </div>
                <div class="mui-input-row" onclick="popArea(this)">
                    <label>所在地区</label>
                    <span class="mui-navigate-right"></span>
                    <div class="mui-pull-right area"> <span class="placeholder">请选择</span></div>
                </div>
                <div class="mui-input-row" onclick="popStreet(this)">
                    <label>街道</label>
                    <span class="mui-navigate-right"></span>
                    <div class="mui-pull-right area"> <span class="placeholder">请选择</span></div>
                </div>
                <div class="w">
                    <textarea name="detail" placeholder="详细地址" rows="4"></textarea>
                </div>

            </form>
            <h5></h5>
            <form class="mui-input-group">
                <div class="mui-input-row">
                    <label>默认地址</label>
                    <div class="mui-switch mui-switch-mini mui-active mui-switch-blue default-address">
                        <div class="mui-switch-handle"></div>
                    </div>
                </div>
            </form>
            <h5>安全验证</h5>
            <form class="mui-input-group">
                <div class="mui-input-row">
                    <label>收货暗号</label>
                    <input type="password" name="pwd" class="mui-input-password" placeholder="">
                </div>

            </form>
            <h5>收货人性别</h5>
            <form class="mui-input-group">
                <div class="mui-input-row mui-radio ">
                    <label></label>
                    <input name="sex" type="radio" value="1" checked>
                </div>
                <div class="mui-input-row mui-radio ">
                    <label></label>
                    <input name="sex" type="radio" value="0" checked>
                </div>
            </form>
            <h5>收货人爱好</h5>
            <form class="mui-input-group">
                <div class="mui-input-row mui-checkbox ">
                    <label>Java</label>
                    <input name="habbit" type="checkbox" value="java" checked>
                </div>
                <div class="mui-input-row mui-checkbox ">
                    <label>Python</label>
                    <input name="habbit" type="checkbox" value="python" checked>
                </div>
                <div class="mui-input-row mui-checkbox ">
                    <label>Go</label>
                    <input name="habbit" type="checkbox" value="go" checked>
                </div>
            </form>
            <h5>收货时间</h5>
            <form class="mui-input-group">
                <div class="mui-input-row" onclick="popStart(this)">
                    <label>起止</label>
                    <span class="mui-navigate-right"></span>
                    <div class="mui-pull-right area"> <span class="placeholder">请选择</span></div>
                </div>
                <div class="mui-input-row" onclick="popEnd(this)">
                    <label>终止</label>
                    <span class="mui-navigate-right"></span>
                    <div class="mui-pull-right area"> <span class="placeholder">请选择</span></div>
                </div>
            </form>
            <h5>状态栏透明度</h5>
            <form class="mui-input-group">
                <div class="mui-input-row mui-input-range">
                    <label>按百分比</label>
                    <input type="range" name="range" min="0" max="100" value="50">
                </div>
            </form>
            <h5></h5>
            <button onclick="saveAddress()" type="button" class="mui-btn mui-btn-green mui-btn-block"><span class="mui-icon mui-icon-personadd"></span> 保存</button>
        </div>

        <script src="../../js/mui.min.js"></script>
        <script src="../../js/mui.picker.min.js"></script>
        <script src="../../js/eip.js"></script>
        <script type="text/javascript">
            mui.init();

            function popArea(self) {
                var picker = new mui.PopPicker({
                    layer: 2
                });
                picker.setData([{
                    value: '110000',
                    text: '北京市',
                    children: [{
                        value: "110101",
                        text: "东城区"
                    }]
                }, {
                    value: '120000',
                    text: '天津市',
                    children: [{
                        value: "120101",
                        text: "和平区"
                    }, {
                        value: "120102",
                        text: "河东区"
                    }, {
                        value: "120104",
                        text: "南开区"
                    }]
                }]);
                picker.pickers[0].setSelectedIndex(0);
                picker.pickers[1].setSelectedIndex(0);
                picker.show(function(data) {
                    console.log(data);
                    area0 = data[0].value;
                    area1 = data[1].value;

                    self.querySelector('.area').innerText = data[0].text + ' ' + data[1].text;
                })
            }

            function popStreet(self) {
                var picker = new mui.PopPicker({
                    layer: 1
                });
                picker.setData([{
                    value: '110000',
                    text: '张江镇'
                }, {
                    value: '120000',
                    text: '唐镇'
                }, {
                    value: '120001',
                    text: '唐镇2'
                }, {
                    value: '120002',
                    text: '唐镇3'
                }]);
                picker.pickers[0].setSelectedIndex(0);
                picker.show(function(data) {
                    console.log(data);
                    street = data[0].value;
                    self.querySelector('.area').innerText = data[0].text;
                })
            }

            eip.select('input[name=range]').on('change', function() {
                var val = this.value;
                console.log(eip.select('header').doc())
                eip.select('header').doc().style.opacity = parseInt(val) / 100;
            })
            var isDefault = true;
            eip.select('.default-address').on('toggle', function(e) {
                var state = e.detail.isActive;
                isDefault = state;
            })

            eip.ready(function() {
                eip.select('input[name=range]').on('change', function() {
                    var val = this.value;
                    console.log(eip.select('header').doc())
                    eip.select('header').doc().style.opacity = parseInt(val) / 100;
                })
            })

            function saveAddress() {
                var params = {}
                params.name = eip.select('input[name=name]').val();
                params.phone = eip.select('input[name=phone]').val();
                params.area0 = area0;
                params.area1 = area1;
                params.street = street;
                params.detail = eip.select('textarea[name=detail]').val();
                params.isDefault = isDefault;
                params.pwd = eip.select('input[name=pwd]').val();
                var sexs = eip.select('input[name=sex]').doc();
                for(var i = 0; i < sexs.length; i++) {
                    var temp = sexs[i];
                    if(temp.checked) {
                        params.sex = temp.value;
                    }
                }
                params.habbit = [];
                var habbits = eip.select('input[name=habbit]').doc();
                for(var h = 0; h < habbits.length; h++) {
                    var tmp = habbits[h];
                    if(tmp.checked) {
                        params.habbit.push(tmp.value);
                    }
                }
                console.log(params);
                eip.request.post('sys/testForm.MobileTest.action', params, function(res) {
                    mui.toast(JSON.stringify(res));

                })

            }

            function popStart(self) {
                var dtPicker = new mui.DtPicker({
                    type: 'date'
                });
                dtPicker.show(function(selectItems) {
                    console.log(selectItems);
                    self.querySelector('.area').innerText = selectItems.value;
                })
            }

            function popEnd(self) {
                var dtPicker = new mui.DtPicker({
                    type: 'datetime'
                });
                dtPicker.show(function(selectItems) {
                    self.querySelector('.area').innerText = selectItems.value;
                })
            }
        </script>
    </body>

</html>

表单总结

表单 上, 使用各个快捷键即可快速 编码
需要注意的是 ,不在试用select , 而使用selectpicker, picker是弹出式的, 所以一般通过点击触发
注意大文本如果需要嵌入在form中, 不要用.mui-input-row 包起来, 直接放在 form 下即可
另外是取值方面, 普通input,textarea 直接使用 封装的eip.select('input[name=xxx]').val() 就行了
而对于 radio , checkbox 则须手动查出所有dom,循环判断方可,建议后期再val中优化实现
至于selectpicker , switch, range 等, 有默认值的使用变量保存默认值, 有改动则修改此变量(chagne事件,或者一些回调)
注意 picker需要引入一个或多个js

最后说下 ajax请求, 和之前大致一样, eip.requst 基本没变化, 可能会出现 跨越问题, 正在解决

弹窗篇

代码

<!doctype html>
<html lang="en">

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

    <body>
        <header class="mui-bar mui-bar-nav">
            <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
            <h1 class="mui-title">BUTTONS</h1>
        </header>

        <div class="mui-content">

            <ul class="mui-table-view">
                <li class="mui-table-view-cell mui-collapse mui-active">
                    <a class="mui-navigate-right" href="#">消息框</a>
                    <div class="mui-collapse-content">
                        <button type="button" class="mui-btn mui-btn-blue mui-btn-outlined alert">弹出Alert</button>
                        <button type="button" class="mui-btn mui-btn-blue confirm">弹出Confirm</button>
                        <button type="button" class="mui-btn mui-btn-green mui-btn-outlined prompt">弹出输入框</button>
                        <h1></h1>
                        <button type="button" class="mui-btn mui-btn-blue mui-btn-outlined mui-btn-block toast">弹出自动消失提示</button>

                    </div>
                </li>
                <li class="mui-table-view-cell mui-collapse">
                    <a class="mui-navigate-right" href="#">菜单</a>
                    <div class="mui-collapse-content">
                        <a href="#popover" id="openPopover" class="mui-btn mui-btn-primary mui-btn-block">打开弹出菜单</a>
                        <button type="button" class="mui-btn mui-btn-danger mui-btn-outlined mui-btn-block action-sheet">弹出actionSheet</button>

                    </div>
                </li>
                <li class="mui-table-view-cell mui-collapse">
                    <a class="mui-navigate-right" href="#">加载中的按钮</a>
                    <div class="mui-collapse-content">
                        <button type="button" class="mui-btn mui-btn-blue mui-btn-outlined need-loding">点我 加载</button>
                        <button type="button" data-loading-icon-position="right" class="mui-btn mui-btn-blue mui-btn-outlined need-loding">点我 加载</button>
                        <button type="button" data-loading-text="提交中" class="mui-btn mui-btn-blue mui-btn-outlined need-loding">点我 加载</button>

                    </div>
                </li>
            </ul>
        </div>

        <div id="popover" class="mui-popover">
            <ul class="mui-table-view">
                <li class="mui-table-view-cell">
                    <a href="#">Item1</a>
                </li>
                <li class="mui-table-view-cell">
                    <a href="#">Item2</a>
                </li>
                <li class="mui-table-view-cell">
                    <a href="#">Item3</a>
                </li>
                <li class="mui-table-view-cell">
                    <a href="#">Item4</a>
                </li>
                <li class="mui-table-view-cell">
                    <a href="#">Item5</a>
                </li>
            </ul>
        </div>

        <div id="sheet1" class="mui-popover mui-popover-bottom mui-popover-action ">
            <!-- 可选择菜单 -->
            <ul class="mui-table-view">
                <li class="mui-table-view-cell">
                    <a href="#">菜单1</a>
                </li>
                <li class="mui-table-view-cell">
                    <a href="#">菜单2</a>
                </li>
            </ul>
            <!-- 取消菜单 -->
            <ul class="mui-table-view">
                <li class="mui-table-view-cell">
                    <a href="#sheet1"><b>取消</b></a>
                </li>
            </ul>
        </div>

        <script src="../../js/mui.js" type="text/javascript" charset="utf-8"></script>
        <script src="../../js/eip.js" type="text/javascript" charset="utf-8"></script>
        <script type="text/javascript">
            mui.init();
            eip.select('.alert').on('click', function() {
                mui.alert('消息内容', '消息标题', '按钮名称', function(e) {
                    mui.toast(e.index)
                });
            });
            eip.select('.confirm').on('click', function() {
                mui.confirm('消息内容', '标题', ['取消', '确认'], function(e) {
                    mui.toast(e.index)
                })
            })
            eip.select('.prompt').on('click', function() {
                mui.prompt('提示内容', '默认值', '标题', ['取消', '确认'], function(e) {
                    mui.toast(e.index)
                }, 'div')
            })
            eip.select('.toast').on('click', function() {
                mui.toast('提示消息')
            })
            eip.select('.action-sheet').on('click', function() {
                mui('#sheet1').popover('toggle');
            })
            eip.select('.need-loding').on('click', function() {
                var that = this;
                mui(that).button('loading');
                setTimeout(function() {
                    mui(that).button('reset');
                }, 1500)
            })
        </script>
    </body>

</html>

总结

弹窗的选择 优先使用mdt ,对于mda 因视情况而定
alert 和 confirm 会自动根据平台切换不同效果, 在微信端时是div版的样式, 而手机APP上则是原生的alert,confirm组件
弹出菜单的及actionsheet则建议使用锚方式打开, 方便简单
按钮的加载效果可自定义文字及位置

卡片和滑动篇

代码

<!doctype html>
<html lang="en">

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

    <body>

        <header class="mui-bar mui-bar-nav">
            <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
            <h1 class="mui-title">Card view</h1>
        </header>

        <div class="mui-content">
            <div class="mui-content-padded">
                <div class="mui-input-row mui-search">
                    <input type="search" class="mui-input-clear" placeholder="">
                </div>
            </div>
            <div class="mui-card">
                <div class="mui-card-header mui-card-media">
                    <img src="http://placehold.it/50x50" />
                    <div class="mui-media-body">
                        小M
                        <p>发表于 2016-06-30 15:30</p>
                    </div>
                </div>
                <div class="mui-card-content">
                    <div id="slider" class="mui-slider">
                        <div class="mui-slider-group mui-slider-loop">
                            <!-- 额外增加的一个节点(循环轮播:第一个节点是最后一张轮播) -->
                            <div class="mui-slider-item mui-slider-item-duplicate">
                                <a href="#">
                                    <img src="http://placehold.it/400x300">
                                </a>
                            </div>
                            <!-- 第一张 -->
                            <div class="mui-slider-item">
                                <a href="#">
                                    <img src="http://placehold.it/400x300">
                                </a>
                            </div>
                            <!-- 第二张 -->
                            <div class="mui-slider-item">
                                <a href="#">
                                    <img src="http://placehold.it/400x300">
                                </a>
                            </div>
                            <!-- 第三张 -->
                            <div class="mui-slider-item">
                                <a href="#">
                                    <img src="http://placehold.it/400x300">
                                </a>
                            </div>
                            <!-- 第四张 -->
                            <div class="mui-slider-item">
                                <a href="#">
                                    <img src="http://placehold.it/400x300">
                                </a>
                            </div>
                            <!-- 额外增加的一个节点(循环轮播:最后一个节点是第一张轮播) -->
                            <div class="mui-slider-item mui-slider-item-duplicate">
                                <a href="#">
                                    <img src="http://placehold.it/400x300">
                                </a>
                            </div>
                        </div>
                        <div class="mui-slider-indicator">
                            <div class="mui-indicator mui-active"></div>
                            <div class="mui-indicator"></div>
                            <div class="mui-indicator"></div>
                            <div class="mui-indicator"></div>
                        </div>
                    </div>
                </div>
                <div class="mui-card-footer">
                    <a href='#'>Love</a>
                    <a href='#'>More</a>
                    <a href='#'>Add</a>
                </div>
            </div>

            <div class="mui-card">
                <ul class="mui-table-view mui-grid-view mui-grid-9">
                    <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3">
                        <a href="#">
                            <span class="mui-icon mui-icon-home"></span>
                            <div class="mui-media-body">Home</div>
                        </a>
                    </li>
                    <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3">
                        <a href="#">
                            <span class="mui-icon mui-icon-email"><span class="mui-badge mui-badge-red">5</span></span>
                            <div class="mui-media-body">Email</div>
                        </a>
                    </li>
                    <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3">
                        <a href="#">
                            <span class="mui-icon mui-icon-chatbubble"></span>
                            <div class="mui-media-body">Chat</div>
                        </a>
                    </li>
                    <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3">
                        <a href="#">
                            <span class="mui-icon mui-icon-location"></span>
                            <div class="mui-media-body">Location</div>
                        </a>
                    </li>
                    <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3">
                        <a href="#">
                            <span class="mui-icon mui-icon-search"></span>
                            <div class="mui-media-body">Search</div>
                        </a>
                    </li>
                    <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3">
                        <a href="#">
                            <span class="mui-icon mui-icon-phone"></span>
                            <div class="mui-media-body">Phone</div>
                        </a>
                    </li>
                </ul>

            </div>

            <div class="mui-card">
                <div class="mui-slider">
                    <div class="mui-slider-indicator mui-segmented-control mui-segmented-control-inverted">
                        <a class="mui-control-item" href="#item1">选项卡1</a>
                        <a class="mui-control-item" href="#item2mobile">选项卡2</a>
                    </div>
                    <div id="sliderProgressBar" class="mui-slider-progress-bar mui-col-xs-6"></div>
                    <div class="mui-slider-group">
                        <div id="item1" class="mui-slider-item mui-control-content mui-active">
                            <ul class="mui-table-view">
                                <li class="mui-table-view-cell">
                                    <a class="mui-navigate-right">
                                        Item 1
                                    </a>
                                </li>
                                <li class="mui-table-view-cell">
                                    <a class="mui-navigate-right">
                                        Item 2
                                    </a>
                                </li>
                                <li class="mui-table-view-cell">
                                    <a class="mui-navigate-right">
                                        Item 3
                                    </a>
                                </li>
                            </ul>
                        </div>
                        <div id="item2mobile" class="mui-slider-item mui-control-content">
                            <ul class="mui-table-view">
                                <li class="mui-table-view-cell mui-collapse">
                                    <a class="mui-navigate-right" href="#">面板1</a>
                                    <div class="mui-collapse-content">
                                        <p>面板1子内容</p>
                                    </div>
                                </li>
                                <li class="mui-table-view-cell mui-collapse">
                                    <a class="mui-navigate-right" href="#">面板</a>
                                    <div class="mui-collapse-content">
                                        <p>面板2子内容</p>
                                    </div>
                                </li>
                                <li class="mui-table-view-cell mui-collapse">
                                    <a class="mui-navigate-right" href="#">面板3</a>
                                    <div class="mui-collapse-content">
                                        <p>面板3子内容</p>
                                    </div>
                                </li>
                            </ul>
                        </div>
                    </div>
                </div>
            </div>

            <div class="mui-card">
                <form class="mui-input-group">
                    <div class="mui-input-row">
                        <label>input</label>
                        <input type="text" class="mui-input-clear" placeholder="input">
                    </div>
                    <div class="mui-input-row">
                        <label>Pass</label>
                        <input type="password" placeholder="pwd">
                    </div>
                    <div class="mui-input-row mui-checkbox ">
                        <label>Checkbox</label>
                        <input name="Checkbox" type="checkbox" checked>
                    </div>
                    <div class="mui-input-row mui-checkbox ">
                        <label>Checkbox</label>
                        <input name="Checkbox" type="checkbox" checked>
                    </div>
                    <div class="mui-input-row">
                        <label>Switch</label>
                        <div class="mui-switch mui-switch-mini mui-active mui-switch-blue">
                            <div class="mui-switch-handle"></div>
                        </div>
                    </div>
                    <div class="mui-input-row mui-radio ">
                        <label>Radio</label>
                        <input name="radio" type="radio" checked>
                    </div>
                    <div class="mui-input-row mui-radio ">
                        <label>Radio</label>
                        <input name="radio" type="radio" checked>
                    </div>
                </form>
            </div>

            <script src="../../js/mui.js" type="text/javascript" charset="utf-8"></script>
            <script type="text/javascript">
                mui.init()
            </script>
    </body>

</html>

总结

最上面可以放个 搜索框
卡片视图是具有外边距,阴影效果的容器, 分3个部分, 头,主体,尾部
以上是一个 较完整的实现 ,实际使用只要按需修改就行了

九宫格直接 输入 mgr 回车即可
图标 和 角标的用法 也很简单 ,一看便知 micmba

值得一讲的是 滑动组件, 由一个滑动容器(.mui-slider-group)内 装有多个滑动项(.mui-slider-item)构成, 可滑动的tab 组件就是由此构造而成
注意点 是tab组件的 slider-progress , 当选项多了需要修改他的宽度比如 .mui-col-xs-3 是4个tab时的宽度

侧滑篇

代码

<!doctype html>
<html lang="en">

    <head>
        <meta charset="UTF-8" />
        <title>Document</title>
        <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
        <link rel="stylesheet" type="text/css" href="../../css/mui.css" />
    </head>
    <style>
            html,
            body {
                background-color: #efeff4;
            }
            p {
                text-indent: 22px;
            }
            span.mui-icon {
                font-size: 14px;
                color: #007aff;
                margin-left: -15px;
                padding-right: 10px;
            }
            .mui-off-canvas-right {
                color: #fff;
            }
            .title {
                margin: 35px 15px 10px;
            }
            .title+.content {
                margin: 10px 15px 35px;
                color: #bbb;
                text-indent: 1em;
                font-size: 14px;
                line-height: 24px;
            }
            input {
                color: #000;
            }
        </style>

    <body>
        <!-- 侧滑导航根容器 -->
        <div class="mui-off-canvas-wrap mui-draggable">
            <!-- 菜单容器 -->
            <aside id="offCanvasHide" class="mui-off-canvas-left">
                <div class="mui-scroll-wrapper">
                    <div class="mui-scroll">
                        <div class="title">侧滑导航</div>
                        <div class="content">
                            这是可拖动式侧滑菜单示例,你可以在这里放置任何内容;关闭侧滑菜单有多种方式: 1.在手机屏幕任意位置向右拖动(drag);2.点击本侧滑菜单页之外的任意位置; 3.点击如下红色按钮
                            <span class="android-only">;4.Android手机按back键;5.Android手机按menu键
                            </span><p style="margin: 10px 15px;">
                                <button id="hideoff" type="button" class="mui-btn mui-btn-danger mui-btn-block" style="padding: 5px 20px;">关闭侧滑菜单</button>
                            </p>

                        </div>
                        <div class="title" style="margin-bottom: 25px;">侧滑列表示例</div>
                        <ul class="mui-table-view mui-table-view-chevron mui-table-view-inverted">
                            <li class="mui-table-view-cell">
                                <a class="mui-navigate-right">
                                    Item 1
                                </a>
                            </li>
                            <li class="mui-table-view-cell">
                                <a class="mui-navigate-right">
                                    Item 2
                                </a>
                            </li>
                            <li class="mui-table-view-cell">
                                <a class="mui-navigate-right">
                                    Item 3
                                </a>
                            </li>
                            <li class="mui-table-view-cell">
                                <a class="mui-navigate-right">
                                    Item 4
                                </a>
                            </li>
                            <li class="mui-table-view-cell">
                                <a class="mui-navigate-right">
                                    Item 5
                                </a>
                            </li>
                            <li class="mui-table-view-cell">
                                <a class="mui-navigate-right">
                                Item 6
                            </a>
                            </li>

                        </ul>
                    </div>
                </div>
            </aside>
            <!-- 主页面容器 -->
            <div class="mui-inner-wrap">
                <!-- 主页面标题 -->
                <header class="mui-bar mui-bar-nav">
                    <a href="#offCanvasHide" class="mui-icon mui-action-menu mui-icon-bars mui-pull-left"></a>
                    <h1 class="mui-title">标题</h1>
                </header>
                <div class="mui-content mui-scroll-wrapper">
                    <div class="mui-scroll">
                        <div class="mui-card">
                            <ul class="mui-table-view">
                            <li class="mui-table-view-cell mui-media">
                                <a href="javascript:;">
                                    <img class="mui-media-object mui-pull-left" src="http://placehold.it/40x30">
                                    <div class="mui-media-body">
                                        幸福
                                        <p class="mui-ellipsis">能和心爱的人一起睡觉,是件幸福的事情;可是,打呼噜怎么办?</p>
                                    </div>
                                </a>
                            </li>
                            <li class="mui-table-view-cell mui-media">
                                <a href="javascript:;">
                                    <img class="mui-media-object mui-pull-left" src="http://placehold.it/40x30">
                                    <div class="mui-media-body">
                                        木屋
                                        <p class="mui-ellipsis">想要这样一间小木屋,夏天挫冰吃瓜,冬天围炉取暖.</p>
                                    </div>
                                </a>
                            </li>
                            <li class="mui-table-view-cell mui-media">
                                <a href="javascript:;">
                                    <img class="mui-media-object mui-pull-left" src="http://placehold.it/40x30">
                                    <div class="mui-media-body">
                                        CBD
                                        <p class="mui-ellipsis">烤炉模式的城,到黄昏,如同打翻的调色盘一般.</p>
                                    </div>
                                </a>
                            </li>
                        </ul>
                        </div>

                        <div class="mui-card">
                            <div id="slider" class="mui-slider" >
                              <div class="mui-slider-group mui-slider-loop">
                                <!-- 额外增加的一个节点(循环轮播:第一个节点是最后一张轮播) -->
                                <div class="mui-slider-item mui-slider-item-duplicate">
                                  <a href="#">
                                    <img src="http://placehold.it/400x300">
                                  </a>
                                </div>
                                <!-- 第一张 -->
                                <div class="mui-slider-item">
                                  <a href="#">
                                    <img src="http://placehold.it/400x300">
                                  </a>
                                </div>
                                <!-- 第二张 -->
                                <div class="mui-slider-item">
                                  <a href="#">
                                    <img src="http://placehold.it/400x300">
                                  </a>
                                </div>
                                <!-- 第三张 -->
                                <div class="mui-slider-item">
                                  <a href="#">
                                    <img src="http://placehold.it/400x300">
                                  </a>
                                </div>
                                <!-- 第四张 -->
                                <div class="mui-slider-item">
                                  <a href="#">
                                    <img src="http://placehold.it/400x300">
                                  </a>
                                </div>
                                <!-- 额外增加的一个节点(循环轮播:最后一个节点是第一张轮播) -->
                                <div class="mui-slider-item mui-slider-item-duplicate">
                                  <a href="#">
                                    <img src="http://placehold.it/400x300">
                                  </a>
                                </div>
                              </div>
                              <div class="mui-slider-indicator">
                                <div class="mui-indicator mui-active"></div>
                                <div class="mui-indicator"></div>
                                <div class="mui-indicator"></div>
                                <div class="mui-indicator"></div>
                              </div>
                            </div>
                        </div>

                        <div style="margin: 10px;">
                            <a type="button" href='#offCanvasHide' class="mui-action-menu mui-btn mui-btn-blue mui-btn-block" style="padding: 10px 50px;">弹出侧滑菜单</a>
                        </div>
                    </div>
                </div>
                <!-- off-canvas backdrop 重要的遮罩 --> 
                <div class="mui-off-canvas-backdrop"></div>
            </div>
        </div>

        <script src="../../js/mui.js" type="text/javascript" charset="utf-8"></script>
        <script src="../../js/eip.js" type="text/javascript" charset="utf-8"></script>
        <script type="text/javascript">
            mui.init({
                swipeBack: false,
            });
            eip.select('#hideoff').on('click',function(){
                mui('.mui-off-canvas-wrap').offCanvas().close();
            })
        </script>
    </body>

</html>

总结

以上是左滑, 右滑仅需修改一处代码 : aslide 元素的class改为mui-off-canvas-right
应用时 , 只需将结构复制, 修改主体及侧滑菜单内容即可
打开侧滑可使用 mui-action-menu 加 href=#xxx(最外层容器id)
也可使用 mui(‘#xxx’).offCanvas().show()
关闭使用 mui(‘#xxx’).offCanvas().close()
注意保留遮罩div

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值