使用mui.js实现下拉刷新

闲聊:

最近因公司项目需求,小颖需要写一些html5页面,方便公司IOS和Android给APP中嵌套使用,其中需要实现拉下刷新功能,其实就是调用了一下mui.js就可以啦嘻嘻,下面跟着小颖一起来看看具体是怎么实现的吧.

目录:

效果图:

mui.min.js、mui.min.css和jquery-3.3.1.js 小颖就不粘贴啦,大家在网上百度下载下来就可以啦嘻嘻,小颖就把default.css和index.html文件粘贴出来哦。

default.css

* {
    margin: 0;
    padding: 0;
    border: 0;
}

html,
body,
.view-container {
    height: 100%;
    font-family: PingFangSC-Medium;
}

.bg {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 999;
}

.bg .loading {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 5px solid #BEBEBE;
    border-left: 5px solid #498aca;
    animation: load 1s linear infinite;
    -moz-animation: load 1s linear infinite;
    -webkit-animation: load 1s linear infinite;
    -o-animation: load 1s linear infinite;
}

@-webkit-keyframes load {
    from {
        -webkit-transform: rotate(0deg);
    }
    to {
        -webkit-transform: rotate(360deg);
    }
}

@-moz-keyframes load {
    from {
        -moz-transform: rotate(0deg);
    }
    to {
        -moz-transform: rotate(360deg);
    }
}

@-o-keyframes load {
    from {
        -o-transform: rotate(0deg);
    }
    to {
        -o-transform: rotate(360deg);
    }
}

.top-title {
    background: url(../images/2.jpg) no-repeat center;
    background-size: cover;
    width: 100%;
    height: 350px;
}

index.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">
    <link rel="stylesheet" href="./css/default.css">
</head>

<body>
<!--下拉刷新容器-->
<div id="pullrefresh" class="mui-content mui-scroll-wrapper">
    <div class="mui-scroll">
        <div class="top-title"></div>
        <!--数据列表-->
        <ul class="mui-table-view mui-table-view-chevron" id="dataList"></ul>
    </div>
</div>
<div class="bg">
    <div class="loading"></div>
</div>
<script src="./js/jquery-3.3.1.js" type="text/javascript" charset="utf-8"></script>
<script src="./js/mui.min.js" type="text/javascript" charset="utf-8"></script>
<script>
    // //进度显示
    $(‘.bg‘).css(‘display‘, ‘flex‘);

    mui.init({
        pullRefresh: {
            container: ‘#pullrefresh‘,
            down: {
                style: ‘circle‘,
                callback: pulldownRefresh
            },
            // up: {
            //     auto:true,
            //     contentrefresh: ‘正在加载...‘,
            //     callback: pullupRefresh
            // }
        }
    });

    var count = 0;

    function pullupRefresh() {
        setTimeout(function () {
            getDt(‘default‘);
        }, 1500);
    }

    pullupRefresh();

    function addData() {
        getDt(‘down‘);
    }

    /**
     * 下拉刷新具体业务实现
     */
    function pulldownRefresh() {
        setTimeout(function () {
            if (count < 3) {
                addData();
                mui(‘#pullrefresh‘).pullRefresh().endPulldownToRefresh();
                mui.toast("为你推荐了5篇文章");
            } else {
                mui(‘#pullrefresh‘).pullRefresh().endPulldownToRefresh();
                mui.toast("没有更多数据了");
            }
        }, 1500);
    }

    function getDt(ways) {
        count++;
        var table = document.body.querySelector(‘.mui-table-view‘);
        var cells = document.body.querySelectorAll(‘.mui-table-view-cell‘);
        var len;
        if (ways == ‘default‘) {
            var newCount = cells.length > 0 ? 5 : 10;//首次加载10条,满屏
            for (var i = cells.length, len = i + newCount; i < len; i++) {
                var li = document.createElement(‘li‘);
                li.className = ‘mui-table-view-cell‘;
                li.innerHTML = ‘<a class="mui-navigate-right" href="http://www.cnblogs.com/yingzi1028">Item ‘ + (i + 1) + ‘</a>‘;
                table.appendChild(li);
            }
        }
        if (ways == ‘down‘) {
            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 class="mui-navigate-right" href="http://www.cnblogs.com/yingzi1028">Item ‘ + (i + 1) + ‘</a>‘;
                //下拉刷新,新纪录插到最前面;
                table.insertBefore(li, table.firstChild);
            }
        }
        //进度隐藏
        $(‘.bg‘).css(‘display‘, ‘none‘);
    }

    mui(‘body‘).on(‘tap‘, ‘a‘, function () {
        window.top.location.href = this.href;
    });
    $(‘a‘).ontouchstart = function (e) {
        e.preventDefault();
    };
</script>
</body>

</html>

原文地址:https://www.cnblogs.com/yingzi1028/p/9648232.html

时间: 2024-10-12 02:42:17

使用mui.js实现下拉刷新的相关文章

vue10行代码实现上拉翻页加载更多数据,纯手写js实现下拉刷新上拉翻页不引用任何第三方插件

vue10行代码实现上拉翻页加载更多数据,纯手写js实现下拉刷新上拉翻页不引用任何第三方插件/库 一提到移动端的下拉刷新上拉翻页,你可能就会想到iScroll插件,没错iScroll是一个高性能,资源占用少,无依赖,多平台的javascript滚动插件.iScroll不仅仅是 滚动.它可以处理任何需要与用户进行移动交互的元素.在你的项目中包含仅仅4kb大小的iScroll,你的项目便拥有了滚动,缩放,平移,无限滚动,视差滚动,旋转功能.iScroll的强大毋庸置疑,本人也非常欢迎大家使用iScr

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"> <

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"> <

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

实现方式与之前写的jquery weui 下拉刷新和上拉加载功能有点相似,以下是实现过程! 后台返回的数据格式: 页面代码布局: <header id="header" class="mui-bar mui-bar-nav"> <h1 class="mui-title">订单列表</h1> <a class="mui-icon mui-pull-right iconfont icon-tuich

JS实现下拉刷新和上拉加载

<!DOCTYPE html><html><head> <title></title> <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui"> <style type="text/css"> #slideDown{margin-t

Vue中使用mescroll.js实现下拉刷新

第一步:引入js和css文件 1 <link rel="stylesheet" href="static/mescroll/mescroll.min.css"> 2 <script src="static/mescroll/mescroll.m.js"></script> 第二步:编写布局 1 <template> 2 <div id="homeWrapper"> 3

Javascript下拉刷新

今天想说的是如何自己操刀做一个js的下拉刷新(js + h5 + css3).既然是下拉,那么应用场景当然就是在手持设备上.在JavaScript的世界里,总是跟很多实用又华丽丽的效果接轨,这是一门很有色彩的编程语言.目前网络上也有很多非常优秀的js滑动插件,比如iscroll(最开始我们就是用这款插件,真心很好用,而且解决了很多html的问题).当然,我要讲的完全没办法和iscroll媲美,仅仅是简简单单的一角而已,主要目的在于对这点小知识的总结和分享. 之前也有讲过,移动设备上对CSS3和H

MUI上拉加载下拉刷新

<!-- 作者:2444626121@qq.com 时间:2017-11-02 描述:如果有问题请邮箱联系我,并注明来自博客园,谢谢呢^o^ --> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1,min

MUI 实现下拉刷新上拉加载的简单例子

话不多说,直接上代码与效果图吧. <!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-sc