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">
  • 相关阅读:
    关于Web服务器时间修改后遗症
    C# MVC Api无法获得参数
    C# MVC 全局错误Application_Error中处理(包括Ajax请求)
    C# MVC 中自定义权限特性[Authorize]中对于Ajax访问的处理
    ClosedXML、DocumentFormat.OpenXml导出DataTable到Excel
    Visual Studio 2017中使用gulp编译sass/scss
    VSCode 常用技巧总结
    Chrome 和 IE 在box-sizing 设置不同的值的表现
    c# 结构体
    c# DefualtValue 常见问题
  • 原文地址:https://www.cnblogs.com/hgj123/p/5551097.html
Copyright © 2011-2022 走看看