zoukankan      html  css  js  c++  java
  • 13、下拉刷新

    为实现下拉刷新功能,大多H5框架都是通过DIV模拟下拉回弹动画,在低端android手机上,DIV动画经常出现卡顿现象(特别是图文列表的情况); 通过双webview解决这个DIV的拖动流畅度问题;拖动时,拖动的不是div,而是一个完整的webview(子webview),回弹动画使用原生动画;在iOS平台,H5的动画已经比较流畅,故依然使用H5方案。两个平台实现虽有差异,但经过封装,可使用一套代码实现下拉刷新。

    第一步: 创建子页面,因为拖动的其实是个子页面的整体

    mui.init({ 
        subpages:[{ 
        url:pullrefresh-subpage-url,//下拉刷新内容页面地址 
        id:pullrefresh-subpage-id,//内容页面标志
         styles:{ top:subpage-top-position,//内容页面顶部位置,需根据实际页面布局计算,若使用标准mui导航,顶部默认为48px; .....//其它参数定义 
         
        }] 
    });

     

    第二步:内容页面需按照如下DOM结构构建

    第三步:通过mui.init方法中pullRefresh参数配置下拉刷新各项参数

    mui.init({ 
        pullRefresh : { 
            container:"#refreshDiv",//下拉刷新容器标识,querySelector能定位的css选择器均可,比如:id、.class等    
            down : {
                contentdown : "下拉可以刷新",//可选,在下拉可刷新状态时,下拉刷新控件上显示的标题内容 
                contentover : "释放立即刷新",//可选,在释放可刷新状态时,下拉刷新控件上显示的标题内容 
                contentrefresh : "正在刷新...",//可选,正在刷新状态时,下拉刷新控件上显示的标题内容 
                callback : fn //必选,刷新函数,根据具体业务来编写,比如通过ajax从服务器获取新数据;
             } } 
    });

     

    第四步:设置执行函数

    function fn() {
         //业务逻辑代码,比如通过ajax从服务器获取新数据; ...... //注意,加载完新数据后,必须执行如下代码,注意:若为ajax请求,则需将如下代码放置在处理完ajax响应数据之后  
          
         mui('#pullrefreshContainer').pullRefresh().endPulldownToRefresh();  //这行代码会隐藏掉 正在加载... 容器
          
    }
     
     
     
  • 相关阅读:
    JS LeetCode 1423. 可获得的最大点数简单题解
    SpringBoot 学集 (第六章) Docker
    Linux 学记 (第三章)
    Linux 学记 (第二章)
    Linux 学记 (第一章)
    SpringBoot 学集 (第五章) Web开发续
    SpringBoot 学集 (第四章)Web开发
    SpringBoot 学集 (第三章) 日志框架
    SpringBoot 学集 (第二章) 配置文件
    SpringBoot 学集 (第一章)
  • 原文地址:https://www.cnblogs.com/zhouyuxiang/p/4696283.html
Copyright © 2011-2022 走看看