zoukankan      html  css  js  c++  java
  • 手机端下拉获取新数据

    https://github.com/ximan/dropload

    dropload

    a javascript implementation of pull to refresh and up to loadmore 
    移动端下拉刷新、上拉加载更多插件

    背景介绍 (introduce)

    年前把tab例子加上来让群友测试,果然群众的力量是伟大的!立马就检测出来bug,我当即修复好,只是用法比较复杂,暂时还想不出更方便的办法。顺便把上个版本的dropReload() API删掉,功能集成到之前resetload()里。另外还修复一个朋友发现的只调用下拉刷新,代码判断bug。

    历史背景介绍

    最新版本 (The latest version)

    0.9.0(160215)

    • 删除dropReload() API,功能集成到之前resetload()
    • 优化noData()noData(false)为有数据
    • 修复只调用下拉刷新,不调用上拉加载更多bug

    所有更新日志

    示例 (demo)

    扫一扫 DEMO1,加载底部(loadmore)

    扫一扫 DEMO2,加载顶部、底部(refresh & loadmore)

    扫一扫 DEMO3,特殊布局,加载顶部、底部(refresh & loadmore with fixed navbar)

    扫一扫 DEMO4,按需加载

    扫一扫 DEMO5,tab加载数据

    依赖 (dependence)

    Zepto 或者 jQuery 1.7以上版本,推荐jQuery 2.x版本(二者不要同时引用) 
    Zepto or jQuery 1.7+,recommend to use jQuery 2.x(not use them at the same time)

    使用方法 (usage)

    引用css和js 
    (basic)

    <link rel="stylesheet" href="../dist/dropload.css">
    <script src="../dist/dropload.min.js"></script>
    
    $('.element').dropload({
        scrollArea : window,
        loadDownFn : function(me){
            $.ajax({
                type: 'GET',
                url: 'json/more.json',
                dataType: 'json',
                success: function(data){
                    alert(data);
                    // 每次数据加载完,必须重置
                    me.resetload();
                },
                error: function(xhr, type){
                    alert('Ajax error!');
                    // 即使加载出错,也得重置
                    me.resetload();
                }
            });
        }
    });
    

    (注明:所有示例里ajaxsetTimeout都是为了模拟加载效果而写的,与本插件无直接关系。ajax建议自己写,无特殊情况不必copy我的ajax写法,因为写得太烂。如需下载本地运行,请在本机装服务器环境,否则ajax会报错。)

    参数列表 (options)

    参数说明默认值可填值
    scrollArea 滑动区域 绑定元素自身 window
    domUp 上方DOM {
    domClass : 'dropload-up',
    domRefresh : '<div class="dropload-refresh">↓下拉刷新</div>',
    domUpdate : '<div class="dropload-update">↑释放更新</div>',
    domLoad : '<div class="dropload-load">○加载中...</div>'
    }
    数组
    domDown 下方DOM {
    domClass : 'dropload-down',
    domRefresh : '<div class="dropload-refresh">↑上拉加载更多</div>',
    domLoad : '<div class="dropload-load">○加载中...</div>',
    domNoData : '<div class="dropload-noData">暂无数据</div>'
    }
    数组
    autoLoad 自动加载 true true和false
    distance 拉动距离 50 数字
    threshold 提前加载距离 加载区高度2/3 正整数
    loadUpFn 上方function function(me){
    //你的代码
    me.resetload();
    }
    loadDownFn 下方function function(me){
    //你的代码
    me.resetload();
    }

    API

    暴露一些功能,可以让dropload更灵活的使用

    lock() 锁定dropload

    参数说明
    lock() 智能锁定,锁定上一次加载的方向
    lock('up') 锁定上方
    lock('down') 锁定下方

    unlock() 解锁dropload

    noData() 无数据

    参数说明
    noData() 无数据
    noData(true) 无数据
    noData(false) 有数据

    resetload() 重置。每次数据加载完,必须重置

    dropReload() 手动加载

    已知问题

    • 由于部分Android中UC和QQ浏览器头部有地址栏,并且一开始滑动页面隐藏地址栏时,无法触发scroll和resize,所以会导致部分情况无法使用。解决方案1:增加distance距离,例如DEMO2中distance:50;解决方案2:加meta使之全屏显示
    <meta name="full-screen" content="yes">
    <meta name="x5-fullscreen" content="true">
  • 相关阅读:
    搜索回车跳转页面
    登录验证码
    【排序算法】排序算法之插入排序
    PAT 乙级 1044 火星数字 (20 分)
    PAT 甲级 1035 Password (20 分)
    PAT 甲级 1041 Be Unique (20 分)
    PAT 甲级 1054 The Dominant Color (20 分)
    PAT 甲级 1027 Colors in Mars (20 分)
    PAT 甲级 1083 List Grades (25 分)
    PAT 甲级 1005 Spell It Right (20 分)
  • 原文地址:https://www.cnblogs.com/hgj123/p/5551097.html
Copyright © 2011-2022 走看看