mui 单页面下拉刷新

Posted topcoder

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mui 单页面下拉刷新相关的知识,希望对你有一定的参考价值。

<!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">
        <style>
            html,
            body {
                background-color: #efeff4;
            }
            .mui-pull-top-tips {
                position: absolute;
                top: -20px;
                left: 50%;
                margin-left: -25px;
                width: 40px;
                height: 40px;
                border-radius: 100%;
                z-index: 1;
            }
            .mui-pull-top-wrapper {
                width: 42px;
                height: 42px;
                display: block;
                text-align: center;
                background-color: #efeff4;
                border: 1px solid #ddd;
                border-radius: 25px;
                background-clip: padding-box;
                box-shadow: 0 4px 10px #bbb;
                overflow: hidden;
            }
            .mui-pull-top-tips.mui-transitioning {
                -webkit-transition-duration: 200ms;
                transition-duration: 200ms;
            }
            .mui-pull-top-canvas canvas {
                width: 40px;
            }
            .mui-slider-indicator.mui-segmented-control {
                background-color: #efeff4;
            }
            
            
        </style>
    </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">mui下拉刷新</h1>
        </header>
        
        
            <div id="slider" class="mui-slider mui-fullscreen">
                <div class="mui-slider-group">
                    <div id="item1mobile" class="mui-slider-item mui-control-content mui-active">
                        <div class="mui-scroll-wrapper">
                            <div class="mui-scroll">
                                <ul class="mui-table-view">
                                    <li class="mui-table-view-cell">
                                        选项卡子项-1
                                    </li>
                                    <li class="mui-table-view-cell">
                                        选项卡子项-2
                                    </li>
                                    <li class="mui-table-view-cell">
                                        选项卡子项-3
                                    </li>
                                    <li class="mui-table-view-cell">
                                        选项卡子项-4
                                    </li>
                                    <li class="mui-table-view-cell">
                                        选项卡子项-5
                                    </li>
                                </ul>
                            </div>
                        </div>
                    </div>

                </div>
            </div>
        <script src="../js/mui.min.js"></script>
        <script src="../js/mui.pullToRefresh.js"></script>
        <script src="../js/mui.pullToRefresh.material.js"></script>
        <script>
            mui.init();
            (function($) {
                //阻尼系数
                var deceleration = mui.os.ios?0.003:0.0009;
                $(.mui-scroll-wrapper).scroll({
                    bounce: false,
                    indicators: true, //是否显示滚动条
                    deceleration:deceleration
                });
                $.ready(function() {
                    //循环初始化所有下拉刷新,上拉加载。
                    $.each(document.querySelectorAll(.mui-slider-group .mui-scroll), function(index, pullRefreshEl) {
                        $(pullRefreshEl).pullToRefresh({
                            down: {
                                callback: function() {
                                    var self = this;
                                    setTimeout(function() {
                                        var ul = self.element.querySelector(.mui-table-view);
                                        ul.insertBefore(createFragment(ul, index, 10, true), ul.firstChild);
                                        self.endPullDownToRefresh();
                                    }, 1000);
                                }
                            },
                        });
                    });
                    var createFragment = function(ul, index, count, reverse) {
                        var length = ul.querySelectorAll(li).length;
                        var fragment = document.createDocumentFragment();
                        var li;
                        for (var i = 0; i < count; i++) {
                            li = document.createElement(li);
                            li.className = mui-table-view-cell;
                            li.innerHTML = 选项卡子项- + (length + (reverse ? (count - i) : (i + 1)));
                            fragment.appendChild(li);
                        }
                        return fragment;
                    };
                });
            })(mui);
            
        </script>
    </body>

</html>

 

 

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
        <title></title>
        <link rel="stylesheet" href="../css/mui.min.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">公告1</h1>
        </header>
        <div class="mui-content">
            
        
         <div id="slider" class="mui-slider mui-fullscreen">
                <div class="mui-slider-group" id="pullrefresh">
                    <div id="item1mobile" class="mui-slider-item mui-control-content mui-active">
                        <div class="mui-scroll-wrapper">
                            <div class="mui-scroll">
                                <ul id="list" class="mui-table-view">

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

                </div>
            </div>
        </div>
        <script src="../js/mui.min.js"></script>
        <script src="../js/mui.pullToRefresh.js"></script>
        <script src="../js/mui.pullToRefresh.material.js"></script>
        <script src="../js/api.js"></script>
        <script>
            mui.init();
            var count = 1;
            (function($) {
                //阻尼系数
                var deceleration = mui.os.ios?0.003:0.0009;
                $(.mui-scroll-wrapper).scroll({
                    bounce: false,
                    indicators: true, //是否显示滚动条
                    deceleration:deceleration
                });
                

                $.ready(function() {
                    //循环初始化所有下拉刷新,上拉加载。
                    
                    $.each(document.querySelectorAll(.mui-slider-group .mui-scroll), function(index, pullRefreshEl) {
                        $(pullRefreshEl).pullToRefresh({
                            down: {
                                callback: function() {
                                    var self = this;
                                    setTimeout(function() {
                                        count=1;
                                        ajax_get_data(this,down,1);
                                        self.endPullDownToRefresh();
                                    }, 1000);
                                }
                            },
                            up: {
                                contentrefresh: 正在加载...,
                                callback: function() {
                                    var self = this;
                                    setTimeout(function() {
                                        count=count+1;
                                          ajax_get_data(this,up,count);
                                        self.endPullUpToRefresh();
                                    }, 1000);
                                }
                            },
                        });
                    });
                    var ajax_get_data = function(self,type,count) {
                        user_token = localStorage.getItem("user_token");
                        user_token_obj = JSON.parse(user_token);
                        mui.ajax(api_url + /public/laoodao_oa/?service=Notice.get_notice_list, {
                            data: {
                                token: user_token_obj.token,
                                page: count
                            },
                            dataType: json,
                            type: get,
                            timeout: 10000,
                            crossDomain: true,
                            async: false,
                            success: function(data) {
                                if(data.data.code > 0) {
                                    var str="";
                                    var fragment = document.createDocumentFragment();
                                    mui.each(data.data.data, function(index, item) {
                                        //字符串拼接
                                        str +="<a href=‘gonggao_xqy.html‘><li class=\"mui-card\">" +
                                                "<div class=\"zbcolor\"></div>" +
                                                "<div class=\"mui-card-content\">" +
                                                "<div class=\"mui-card-content-inner\">" +
                                                "<p class=\"txtTitle\">" + item.pubdate.substring(0, 4) + "" + item.title + "</p>" +
                                                "<p class=\"txtContent\">" + item.my_desc + "</p>" +
                                                "<p class=\"txtNote\"><span class=\"mui-pull-left\">" + item.pubdate + " " + item.publisher + "</span><span class=\"mui-pull-right\"></span></p>" +
                                                "</div>" +
                                                "</div>"+
                                                "</a>";
                                                "</li>";
                                                
                                        //fragment拼接
                                        li = document.createElement(li);
                                        li.className = mui-card;
                                        li.innerHTML = "<a href=‘gonggao_xqy.html‘><div class=\"zbcolor\"></div>" +
                                                "<div class=\"mui-card-content\">" +
                                                "<div class=\"mui-card-content-inner\">" +
                                                "<p class=\"txtTitle\">" + item.pubdate.substring(0, 4) + "" + item.title + "</p>" +
                                                "<p class=\"txtContent\">" + item.my_desc + "</p>" +
                                                "<p class=\"txtNote\"><span class=\"mui-pull-left\">" + item.pubdate + " " + item.publisher + "</span><span class=\"mui-pull-right\"></span></p>" +
                                                "</div>" +
                                                "</div>"+
                                                "</a>";
                                        fragment.appendChild(li);
                                                
                                    });
                                    if(type=="down")
                                    {
                                        
                                        var ul = document.getElementById("list");
                                        ul.innerHTML=str;
                                    }
                                    if(type=="up")
                                    {
                                        var ul = document.getElementById("list");
                                        ul.appendChild(fragment);
                                    }
                                    
                                    console.log(count);
                                }else{
                                    mui.toast(data.data.msg);
                                    
                                }
                                
                                
                            }
                        }
                        );
                    };
                    
                    ajax_get_data(null,down,1);
                    
                    var change_color = function() {
                        for(var i = 0; i < mui(".zbcolor").length; i++) {
                            var mod = (i % 5);
                            switch(mod) {
                                case 0:
                                    mui(".zbcolor")[i].style.background = "#FF8F09";
                                    break;
                                case 1:
                                    mui(".zbcolor")[i].style.background = "#FD686C";
                                    break;
                                case 2:
                                    mui(".zbcolor")[i].style.background = "#F7B449";
                                    break;
                                case 3:
                                    mui(".zbcolor")[i].style.background = "#07C391";
                                    break;
                                case 4:
                                    mui(".zbcolor")[i].style.background = "#A79CCB";
                                    break;
                            }
                        }
                    }
                    
                    
                    
                });
                

            })(mui);
            

        </script>
    </body>

</html>

 

以上是关于mui 单页面下拉刷新的主要内容,如果未能解决你的问题,请参考以下文章

mui点击加载,下拉刷新,上下整合代码

mui 框架中结合mui.ajax实现 下拉刷新和上拉加载功能

关于mui中一个页面有有多个页签进行切换的下拉刷新加搜索问题

hbuild mui 开发的webapp 怎么实现切换选项卡,然后执行一次下拉刷新更新数据,求各位大神指教

使用mui.js实现下拉刷新

MUI-页面刷新