weui是微信公司提供的一个UI框架,在H5开发中一些组件可以直接使用。weui文档地址:http://www.jqweui.cn/components

使用weui,需要引入weui.css和jquery-weui.min.css,还有jquery.min.js和jquery-weui.min.js。库文件下载地址:https://github.com/LuoYiHao/front-end-lib/tree/master/weui

为了实现滚动加载的效果,首先实现加载列表的函数:

function getPendingList(pageNum) {
    //请求消息
    $.ajaxDirect("/list?pageSize=10&pageNum="+pageNum,'GET',{},
        function(data){
            list = data.data.list
            lastPage = data.data.lastPage        for(var i = 0;i < list.length;i++){
                $("#tab1").append(
                    '<div class="item">\
                        <img src="../../images/driver@3x.png" alt="" class="icon">\
                        <div class="personal-info">\
                            <div>'+timestampToTime(list[i].createTime,16)+'</div>\
                            <div>\
                                <span>'+list[i].name+'</span>\
                                <span class="peopleNum">'+list[i].telephone+'</span>\
                            </div>\
                        </div>\
                        <div class="status">待审批</div>\
                        <div class="item-info">'+pack(list[i])+'</div>\
                    </div>'
                )
            }
       loading= false             if(pageNum==lastPage||lastPage==0){
                flag = false
                $('.tab-load').hide()
            }         },
        function(){
            $.toast("请求失败", "text")
        }
    )
}

进入页面先调用接口加载10条数据,并获取当前数据库页数为lastPage。

在script执行开始前先定义变量:

var pageNum =
var lastPage
getPendingList(pageNum)
var list
var flag = true
var loading = false

然后实现滚动加载:

// 上滑加载更多
$(document.body).infinite().on("infinite", function () {
  if(loading) return
  loading = true
pageNum++
if(pageNum<=lastPage){
getPendingList(pageNum)
}else{
setTimeout(function() {
       flag = false
$('.tab-load').hide()
}, 500)
}
})

1.infinite的意思是无限的,当页面触发infinite事件时,页码加一,若未超过总页数,则发起请求,请求到的数据直接append到之前的数据后面。

2.若页码超过总页数,则不再发起请求,并隐藏加载动图。

3.flag是用于判断数据是否全部加载完,从而控制loading组件的显示隐藏。

加载动图代码如下:

<div class="weui-loadmore tab-load">
<i class="weui-loading"></i>
<span class="weui-loadmore__tips">正在加载</span>
</div>

注意一点,因为插件并不知道你是否正在加载,所以只要滚动到距离底部 50px 以内都会触发事件。因此infinite事件可能会触发多次。

需要自己来控制不要同时进行多个加载。可以参考上面的代码通过一个 loading 标记位来控制。

更详细的用法请直接查看weui文档,链接为http://www.jqweui.cn/extends#infinite

weui的github地址为https://github.com/Tencent/weui.js

weui实现滚动加载的效果的更多相关文章

  1. 记录WEUI中滚动加载的一个BUG

    最近写微信公众号,用到的技术栈是jq+vue的混合开发,采用的UI是移动端比较火的WEUI,在微信开发中应该较广泛.个人看惯了elementUI文档,相对于饿了么组件文档的详细,WEUI的文档还是比较 ...

  2. jquery weui ajax滚动加载更多

    手机端使用jquery weui制作ajax滚动加载更多. 演示地址:http://wx.cnkfk.com/nuol/static/fpage.html 代码: <!DOCTYPE html& ...

  3. JS 判断滚动底部并加载更多效果。。。。。。。。。

    JS 判断滚动底部并加载更多效果......... <html lang="zh-cn"> <head> <meta http-equiv=" ...

  4. javacript 实现瀑布流原理和效果, 滚动加载图片【图文解析 附源码】

    先科普下瀑布流吧 瀑布流,又称瀑布流式布局.是比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部.最早采用此布局的网站是Pin ...

  5. jQuery WeUI 组件下拉刷新和滚动加载的实现

    最近在做手机版使用到了下拉刷新和滚动加载,记录一下实现过程: 一.引入文件 ? 1 2 3 4 <link rel="stylesheet" href="Conte ...

  6. [转] Jquery滚动加载

    原文地址:http://hi.baidu.com/vipxiaofan/item/9eb927b795671f77254b0985 另外一个asp.net的例子:http://blog.csdn.ne ...

  7. 滚动加载图片(懒加载)实现原理(这是旧实现,仅做为获取元素宽高api的参考)

    https://www.cnblogs.com/flyromance/p/5042187.html 本文主要通过以下几方面来说明懒加载技术的原理,个人前端小菜,有错误请多多指出 一.什么是图片滚动加载 ...

  8. jquery ajax 滚动加载数据

    jquery php 滚动加载数据(文件包 rollingpage) 效果如下: 页面加载时候($function(){ 自动加载第一页数据 }) 设置: var winH = $(window).h ...

  9. 使用infinite-scroll实现Ghost博文列表的滚动加载

    Ghost博客系统默认提供的博文列表为传统的翻页方式(通过点击上一页.下一页等按钮来切换),随着移动客户端的发展,瀑布流式的滚动加载方式得到广泛应用,有效地提高了用户浏览信息的流畅度.下面详述如何通过 ...

随机推荐

  1. 微服务与Spring Cloud概述

    微服务与Spring Cloud随着互联网的快速发展, 云计算近十年也得到蓬勃发展, 企业的IT环境和IT架构也逐渐在发生变革,从过去的单体应用架构发展为至今广泛流行的微服务架构. 微服务是一种架构风 ...

  2. 引用公共页面的js函数报错

    对于网站来说很多页面之间都有着大量的共享模块,如页头,页脚和用户栏等.很多时候为了方便.省事,我们在公共模块写函数,然后在别的页面里调用.但我们在引用公共的js函数时,有些可以引用,有些却报错:这是因 ...

  3. SpringBoot+Mybatis 实现动态数据源切换方案

    背景 最近让我做一个大数据的系统,分析了一下,麻烦的地方就是多数据源切换抽取数据.考虑到可以跨服务器跨数据库抽数,再整理数据,就配置了这个动态数据源的解决方案.在此分享给大家. 实现方案 数据库配置文 ...

  4. 【HC资料合集】2019华为全联接大会主题资料一站式汇总,免费下载!

    HUAWEI CONNECT 2019 大会主题演讲.峰会演讲精彩资料速递,欢迎下载查阅. 主题 资料下载(登录后可下载附件) 演讲者 [主题演讲资料]2019华为全联接大会day   2 共筑高品质 ...

  5. 转:URL,URLConnection,HttPURLConnection的使用

    URLConnection与HttPURLConnection都是抽象类,无法直接实例化对象.其对象主要通过URL的openconnection方法获得. 值得注意的是:1.openConnectio ...

  6. 阿里巴巴的 Kubernetes 应用管理实践经验与教训

    作者 | 孙健波(天元)  阿里巴巴技术专家 导读:本文整理自孙健波在 ArchSummit 大会 2019 北京站演讲稿记录.首先介绍了阿里巴巴基于 Kubernetes 项目进行大规模应用实践过程 ...

  7. iOS导出远程推送所需要的P12 或pem文件

    http://www.saitjr.com/ios/ios-export-remote-notification-p12-pem-file.html iOS导出远程推送所需要的P12 或pem文件 h ...

  8. 压缩感知重构算法之IHT算法python实现

    压缩感知重构算法之OMP算法python实现 压缩感知重构算法之CoSaMP算法python实现 压缩感知重构算法之SP算法python实现 压缩感知重构算法之IHT算法python实现 压缩感知重构 ...

  9. 第七章 jQuery中的事件与动画

    事件的分类 基础事件: 鼠标事件 键盘事件 window事件 表单事件 复合事件: 鼠标光标悬停 鼠标连续点击 基础事件: 实例: mouseenter()和mouseover()用法的区别: mou ...

  10. 【Gitlab】371- GitLab从安装到全自动化备份一条龙

    原文地址[1]欢迎star 需求 1.在新服务器上安装并搭建好gitlab2.手动+自动将旧服务器上的gitlab备份3.手动+自动将gitlab备份包scp到新服务器上4.手动+自动恢复新服务器上的 ...