热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

listloading一个挪动端的上拉、下拉加载更多的组件

listloading.jslistloading是一个挪动端的上拉、下拉加载更多的组件。重要依赖于iscroll.jsv5.1.2基本上开辟的组件,基本库能够运用jquery.j
listloading.js

listloading是一个挪动端的上拉、下拉加载更多的组件。重要依赖于iscroll.js v5.1.2基本上开辟的组件,基本库能够运用jquery.js或许zepto.js操纵dom节点,现在我是运用了zepto.js作为基本库操纵dom,以jquery插件的情势存在。假如不想以插件体式格局运用,则只需要把listloading直接移植你需要的库内里就ok啦。listloading重要针对挪动端而生,在运用浏览器自带转动,用户体验很不友爱,与Android和ios差异甚远,所以挑选iscroll.js,它完成体式格局是运用css3动画translate 3D 转换来完成转动结果,transform属性运用硬件加速,机能要领获得很大进步。支撑Node引入,require引入.

结果图:

《listloading 一个挪动端的上拉、下拉加载更多的组件》《listloading 一个挪动端的上拉、下拉加载更多的组件》
《listloading 一个挪动端的上拉、下拉加载更多的组件》
《listloading 一个挪动端的上拉、下拉加载更多的组件》

demo地点: https://gtdalp.github.io/widg…

npm装置

npm install listloading

运用要领以下:

1、html构造





    与iscroll建立的构造一样,然则指定的建立的元素节点必需指定ID,由于在组件内里宣布定阅形式需要做一个标识。由于iscroll在节点元素建立之前,必需先设定高度,不然会致使没法转动;iscroll建立终了是指定给第一个子元素转动,所以listloading的上拉和下拉革新也是追加到第一个子元素内里,实在把第一个子元素设想成为html内里的body就能够了。

    2、需要引入的js



    3、挪用

    var Listloading = require('listloading');
    var m = 3;
    var n = 0;
    var hei = $(window).height();
    // 建立iscroll之前必需要先设置父元素的高度,不然没法拖动iscroll
    $('#listloading, .listloadingClass').height(hei);
    // 模板
    var createHtml = function(){
    var __html = '';
    for(var i = 0; i <15; i++){
    var now = new Date().getTime();
    now = new Date(now + i*1000000);
    __html += '

  • listloading' + (n++) + '

    挪动端上拉下拉革新组件...

  • ';
    }
    return __html;
    }
    // demo
    var listloading = new Listloading('#listloading', {
    disableTime: true, // 是不是需要显现时候
    pullUpAction : function(cb){ // 上拉加载更多
    m--;
    var flg = false;
    var __html = createHtml();
    if(m <1){
    flg = true;
    }else{
    $('#order-list').append(__html);
    }
    // 数据加载终了需要返回 end为true则为悉数数据加载终了
    cb(flg);

    },
    pullDownAction : function(cb){ // 下拉革新
    // true则为默许加载 false为下拉革新
    if (flg) {
    console.log('默许加载');
    }
    m = 3;
    var __html = createHtml();
    $('#order-list').html(__html);
    // 实行完实行要领以后必需实行回调 回调的作用是关照默许加载已悉数实行终了,顺序需要去建立iscroll或许做下拉革新行动
    cb();
    },
    // iscroll的API
    iscrollOptions: {
    //
    }
    });
    // 点击事宜
    listloading.evt('li', 'click', function (dom) {
    dom.remove();
    // $('#order-list').append(createHtml());
    listloading.refresh();
    });
    // demo
    // var k = 3;
    // var listloadingClass = new Listloading('.listloadingClass', {
    // pullUpAction : function(cb){ //上拉加载更多
    // k--;
    // var flg = false;
    // var __html = createHtml();
    // if(k <1){
    // flg = true;
    // }else{
    // $('#listloadingClass-order-list').append(__html);
    // }
    // // 数据加载终了需要返回 end为true则为悉数数据加载终了
    // cb(flg);

    // },
    // pullDownAction : function(cb, flag){ //下拉革新
    // // flag 为true 第一次加载
    // if (flag) {
    // // dosomething...
    // }
    // k = 3;
    // var __html = createHtml();
    // $('#listloadingClass-order-list').html(__html);
    // // 实行完实行要领以后必需实行回调 回调的作用是关照默许加载已悉数实行终了,顺序需要去建立iscroll或许做下拉革新行动
    // cb();
    // }
    // });

    4、API

    4.1 下拉革新

    初始化会实行一次,重如果建立iscroll,以后每次下拉革新完毕以后实行,当在要领内里实行终了你的顺序以后需要实行一个回调函数,示知已悉数顺序实行终了,listloading就会自动去挪用iscroll的革新功用,回调不需要传参。

    options.pullDownAction = function(cb, flag){ // 下拉革新
    // flag 为true 第一次加载
    if (flag) {
    // dosomething...
    }
    // 实行完实行要领以后必需实行回调
    cb();
    }

    4.2 上拉加载更多

    每次上拉加载更多完毕以后实行,一样的在实行完你的顺序以后需要实行一个回调函数,回调内里需要回调一个布尔值,假如为true则怎样已悉数加载终了,就已拉究竟了。

    options.pullUpAction = function(cb){ // 上拉加载更多
    .....
    // 实行完实行要领以后必需实行回调 true为上拉究竟
    cb(true);
    }

    4.3 烧毁ListLoading

    listloading.destroy();

    4.4 革新listloading

    转动地区节点有增删则需要在操纵终了以后挪用此要领

    listloading.refresh();

    4.5 是不是显现时候 默许值为false

    true下拉显现时候,间隔上次革新的时候

    options.disableTime = true

    4.6 上拉加载更多笔墨

    options.upLoadmoretxt = '上拉加载更多笔墨'; // 内里能够放html标签

    4.7 下拉革新笔墨

    options.pullDrefreshtxt = '下拉革新笔墨'; // 内里能够放html标签

    4.8 正在加载中笔墨

    options.loadertxt = '正在加载中笔墨'; // 内里能够放html标签

    4.9 松开革新笔墨

    options.Realtimetxt = '松开革新笔墨'; // 内里能够放html标签

    4.10 已悉数加载终了笔墨

    options.loaderendtxt = '已悉数加载终了笔墨'; // 内里能够放html标签

    4.12 iscroll的设置

    options.iscrollOptiOns= {};

    目次构造

    listloading

    ├────build
    | └──listloading.js // 源文件
    ├────demos
    | └──.... // demo字体款式
    ├────dist
    | |──css
    | | └──listloading.min.css // 紧缩css
    | └──js
    | └──listloading.min.js // 紧缩js源文件
    ├────src
    | |──css
    | | └──base.css // 基本base款式
    | |──fontface
    | | └──... // 字体文件
    | |──images
    | | └──... // demo图片
    | |──jslib
    | | └── ... // 第三方库

    推荐阅读
    • javascript分页类支持页码格式
      前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
    • 为开发者提供了一系列实用的参考网站和资源链接,包括HTML速查手册( 和 ),帮助开发者快速查找和学习相关技术知识。此外,还涵盖了其他重要的开发工具和文档,为编程工作提供全面支持。 ... [详细]
    • 解决Bootstrap DataTable Ajax请求重复问题
      在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
    • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
      秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
    • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
    • Web开发框架概览:Java与JavaScript技术及框架综述
      Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
    • 浅析python实现布隆过滤器及Redis中的缓存穿透原理_python
      本文带你了解了位图的实现,布隆过滤器的原理及Python中的使用,以及布隆过滤器如何应对Redis中的缓存穿透,相信你对布隆过滤 ... [详细]
    • 微软推出Windows Terminal Preview v0.10
      微软近期发布了Windows Terminal Preview v0.10,用户可以在微软商店或GitHub上获取这一更新。该版本在2月份发布的v0.9基础上,新增了鼠标输入和复制Pane等功能。 ... [详细]
    • Framework7:构建跨平台移动应用的高效框架
      Framework7 是一个开源免费的框架,适用于开发混合移动应用(原生与HTML混合)或iOS&Android风格的Web应用。此外,它还可以作为原型开发工具,帮助开发者快速创建应用原型。 ... [详细]
    • 检查在所有可能的“?”替换中,给定的二进制字符串中是否出现子字符串“10”带 1 或 0 ... [详细]
    • 第二十五天接口、多态
      1.java是面向对象的语言。设计模式:接口接口类是从java里衍生出来的,不是python原生支持的主要用于继承里多继承抽象类是python原生支持的主要用于继承里的单继承但是接 ... [详细]
    • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
    • 在软件开发过程中,经常需要将多个项目或模块进行集成和调试,尤其是当项目依赖于第三方开源库(如Cordova、CocoaPods)时。本文介绍了如何在Xcode中高效地进行多项目联合调试,分享了一些实用的技巧和最佳实践,帮助开发者解决常见的调试难题,提高开发效率。 ... [详细]
    • 近日,我在处理一个复杂的前端问题时遇到了极大困扰。具体来说,我之前开发了一个功能丰富的纯jQuery代码的前端GridView控件,实现了多种功能和视觉效果,并在多个项目中表现良好。然而,最近在尝试应用 `border-box` 布局模式时,却遇到了意想不到的兼容性和性能问题。这提醒我们在条件尚未完全成熟的情况下,应谨慎使用 `border-box` 布局模式,以免引入不必要的复杂性和潜在的bug。 ... [详细]
    • 本文全面解析了JavaScript中的DOM操作,并提供了详细的实践指南。DOM节点(Node)通常代表一个标签、文本或HTML属性,每个节点都具有一个nodeType属性,用于标识其类型。文章深入探讨了DOM节点的创建、查询、修改和删除等操作,结合实际案例,帮助读者更好地理解和掌握DOM编程技术。 ... [详细]
    author-avatar
    YY666JAME_381
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有