在Android和iOS上对于下拉刷新的处理方法:

在微信公众号内,在面对下拉刷新这个问题上,Android和iOS都自己的表现方式:

    iOS:

    Android:

所以我们要给内容加载监听器 

   function bindEvent() {       document.addEventListener('touchstart', touchSatrtFunc, false);      document.addEventListener('touchmove', touchMoveFunc, false);       document.addEventListener('touchend', touchEndFunc, false);    }

注意:  

 document.addEventListener("事件名称", 函数, false);      function 某函数(event){      // 方法执行    }

我们首先要获取我们手指放在屏幕上的位置, 

 function touchSatrtFunc(evt) {      try {        var touch = evt.targetTouches[0]; //获取第一个触点        var x = Number(touch.pageX); //页面触点X坐标(起始位置)(相对于内容)        var y = Number(touch.pageY); //页面触点Y坐标(起始位置)(相对于内容)        var y1 = Number(touch.screenY); //页面触点Y坐标(起始位置)(相对于屏幕)        //记录触点初始位置        startX1 = x;        startY1 = y;        startSY1 = y;      }    }

如果我们只是iOS的话,那么我们只需要获取相对于内容的起始位置就可以了,但是由于android中的下拉是整体下拉.那么相对于内容的位移就不大,这就需要相对于屏幕的位置的取值了  

 function touchMoveFunc(evt) {      try {        var scrollTop = $(".tui_container").scrollTop();        var touch = evt.targetTouches[0]; //获取第一个触点        var x = Number(touch.pageX); //页面触点X坐标        var y = Number(touch.pageY); //页面触点Y坐标(移动位置)(相对于内容)        var y2 = Number(touch.screenY); //页面触点Y坐标(移动位置)(相对于屏幕)        startX2 = x;        startY2 = y;        startSY2 = y2;        if(scrollTop <= 0) {          if(startSY2 - startSY1>100) {             $(".loading_refresh").removeClass("disn");            setTimeout(function(){             window.location.reload();           },1500)         }        }      }   }

手指在移动中执行的事件,获取到的值是不断变化的,当满足相对第一个获取到的值的偏差时执行事件刷新,这里的iOS和Android都试用. 

function touchEndFunc(evt) {    try {       var top = evt.target.scrollTop;      var touch = evt.changedTouches[0]; //获取最后一个触点      var startX3 = Number(touch.pageX); //页面触点X坐标      var startY3 = Number(touch.pageY); //页面触点Y坐标         var y3 = Number(touch.screenY); //页面触点Y坐标(移动位置)(相对于屏幕)      startSY3=y3;      var scrollTop = $(".tui_container").scrollTop();     }  }

这里可以获取的是手指离开时获取的位置,但是由于android是整体下拉,这刷新主要根据的就是滑动滚动的scrollTop(),android无法获取到scrollTop==0时的情况,所以抛弃在手指滑动结束后执行的事件(我注释掉了,就不写了).

以上所述是小编给大家介绍的Android微信端的下拉刷新功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多相关文章

  1. 线性布局LinearLayout和相对布局RelativeLayout 之间的比较
  2. Android小知识7
  3. Android(安卓)获取地理位置的经度和纬度
  4. Android(安卓)获取地理位置的经度和纬度
  5. Android(安卓)安装位置 - installLocation简析
  6. 利用一个singleInstance的activity实现音乐播放器锁屏
  7. Android(安卓)UI开发第六篇——仿QQ的滑动Tab
  8. Android:Manifest merger failed with multiple errors, see log
  9. android中Dialog居中显示

随机推荐

  1. 使用MediaRecorder录制音频
  2. Android实现游戏摇杆的源代码
  3. Android (SQLite 数据库与ContentProvide
  4. Android NDK相关的库方法
  5. Android shape使用和属性含义
  6. EditText的错误信息
  7. 【Android学习笔记】Android概述与开发环
  8. Android KitKat 4.4平台开发-添加USB ADB
  9. 如何使用Android SDK开发Android应用?
  10. Android NDK开发技巧二