weui实现滚动加载的效果
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实现滚动加载的效果的更多相关文章
- 记录WEUI中滚动加载的一个BUG
最近写微信公众号,用到的技术栈是jq+vue的混合开发,采用的UI是移动端比较火的WEUI,在微信开发中应该较广泛.个人看惯了elementUI文档,相对于饿了么组件文档的详细,WEUI的文档还是比较 ...
- jquery weui ajax滚动加载更多
手机端使用jquery weui制作ajax滚动加载更多. 演示地址:http://wx.cnkfk.com/nuol/static/fpage.html 代码: <!DOCTYPE html& ...
- JS 判断滚动底部并加载更多效果。。。。。。。。。
JS 判断滚动底部并加载更多效果......... <html lang="zh-cn"> <head> <meta http-equiv=" ...
- javacript 实现瀑布流原理和效果, 滚动加载图片【图文解析 附源码】
先科普下瀑布流吧 瀑布流,又称瀑布流式布局.是比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部.最早采用此布局的网站是Pin ...
- jQuery WeUI 组件下拉刷新和滚动加载的实现
最近在做手机版使用到了下拉刷新和滚动加载,记录一下实现过程: 一.引入文件 ? 1 2 3 4 <link rel="stylesheet" href="Conte ...
- [转] Jquery滚动加载
原文地址:http://hi.baidu.com/vipxiaofan/item/9eb927b795671f77254b0985 另外一个asp.net的例子:http://blog.csdn.ne ...
- 滚动加载图片(懒加载)实现原理(这是旧实现,仅做为获取元素宽高api的参考)
https://www.cnblogs.com/flyromance/p/5042187.html 本文主要通过以下几方面来说明懒加载技术的原理,个人前端小菜,有错误请多多指出 一.什么是图片滚动加载 ...
- jquery ajax 滚动加载数据
jquery php 滚动加载数据(文件包 rollingpage) 效果如下: 页面加载时候($function(){ 自动加载第一页数据 }) 设置: var winH = $(window).h ...
- 使用infinite-scroll实现Ghost博文列表的滚动加载
Ghost博客系统默认提供的博文列表为传统的翻页方式(通过点击上一页.下一页等按钮来切换),随着移动客户端的发展,瀑布流式的滚动加载方式得到广泛应用,有效地提高了用户浏览信息的流畅度.下面详述如何通过 ...
随机推荐
- Java秋招面试复习大纲(二):Spring全家桶+MyBatis+MongDB+微服务
前言 对于那些想面试高级 Java 岗位的同学来说,除了算法属于比较「天方夜谭」的题目外,剩下针对实际工作的题目就属于真正的本事了,热门技术的细节和难点成为了面试时主要考察的内容. 这里说「天方夜谭」 ...
- Block-wise 2D kernel PCA/LDA for face recognition-笔记
In the present work, we propose a framework for kernel-based 2D feature extraction algorithms tailor ...
- 重写TabBar遇到的按钮不显示的问题
这里的控件frame没有进行设置,无法显示 这里初始化的按钮 frame也为0, 因此 在 重写某个控件的时候 一定要调用layoutSubviews这个方法来对这个控件内部的子控件进行赋值
- 鲲鹏云实验-.NET Core 3.0-开始使用
[摘要] 介绍Ubuntu 18.04环境下.NET Core 3.0的安装配置.初始项目的生成和运行 1. 基础环境 2vCPUs | 4GB | kc1.large.2 Ubuntu 18.04 ...
- 自然语言处理(NLP)相关学习资料/资源
自然语言处理(NLP)相关学习资料/资源 1. 书籍推荐 自然语言处理 统计自然语言处理(第2版) 作者:宗成庆 出版社:清华大学出版社:出版年:2013:页数:570 内容简介:系统地描述了神经网络 ...
- CoderForces-913-C
A New Year party is not a New Year party without lemonade! As usual, you are expecting a lot of gues ...
- (全国多校重现赛一) J-Two strings
Giving two strings and you should judge if they are matched. The first string contains lowercase le ...
- 从零开始openGL——三、模型加载及鼠标交互实现
前言 在上篇文章中,介绍了基本图形的绘制.这篇博客中将介绍模型的加载.绘制以及鼠标交互的实现. 模型加载 模型存储 要实现模型的读取.绘制,我们首先需要知道模型是如何存储在文件中的. 通常模型是由网格 ...
- 2019 AI Bootcamp Guangzhou 参会日记
2019年的全球AI训练营在北京.上海.广州.杭州.宁波五个地方同时举办! 12月14日,微软全球AI Bootcamp活动再次驾临广州,本次会议结合 ML.NET 和基于 SciSharp 社区介绍 ...
- 将object转换成dyamic类型 解决long输出到浏览器过长精度丢失问题
需求: 数据库使用飘雪算法保存唯一标识 是一个18位长整形 将数据输出到浏览器时出现了精度丢失问题,这是一个重大的BUG.如果没解决好整个项目都要改一遍. 讨论有三个办法 1.把所有实体 数据模型的 ...