在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微信端的下拉刷新功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# android
# 微信下拉刷新
# Android自定义SwipeRefreshLayout高仿微信朋友圈下拉刷新
# Android仿微信滑动弹出编辑、删除菜单效果、增加下拉刷新功能
# Android自定义view仿微信刷新旋转小风车
# 相对于
# 第一个
# 小编
# 自己的
# 的是
# 放在
# 在此
# 就不
# 这个问题
# 这就
# 给大家
# 掉了
# 写了
# 只需要
# 要给
# 所述
# 给我留言
# 感谢大家
# 就可以
# 疑问请
相关文章:
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
如何制作网站标识牌,动态网站如何制作(教程)?
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
湖州网站制作公司有哪些,浙江中蓝新能源公司官网?
如何登录建站主机?访问步骤全解析
我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?
建站主机解析:虚拟主机配置与服务器选择指南
如何在IIS管理器中快速创建并配置网站?
如何设计高效校园网站?
建站之星多图banner生成与模板自定义指南
建设网站制作价格,怎样建立自己的公司网站?
如何快速生成ASP一键建站模板并优化安全性?
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?
湖北网站制作公司有哪些,湖北清能集团官网?
已有域名和空间如何快速搭建网站?
Python lxml的etree和ElementTree有什么区别
建站之星安装需要哪些步骤及注意事项?
建站之星×万网:智能建站系统+自助建站平台一键生成
如何高效配置香港服务器实现快速建站?
网页设计与网站制作内容,怎样注册网站?
建站之星图片链接生成指南:自助建站与智能设计教程
如何快速搭建安全的FTP站点?
建站之星在线版空间:自助建站+智能模板一键生成方案
,南京靠谱的征婚网站?
如何快速使用云服务器搭建个人网站?
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
建站之星与建站宝盒如何选择最佳方案?
实现点击下箭头变上箭头来回切换的两种方法【推荐】
模具网站制作流程,如何找模具客户?
利用JavaScript实现拖拽改变元素大小
专业网站建设制作报价,网页设计制作要考什么证?
青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?
建站之星安全性能如何?防护体系能否抵御黑客入侵?
python的本地网站制作,如何创建本地站点?
如何快速登录WAP自助建站平台?
常州自助建站费用包含哪些项目?
建站主机服务器选型指南与性能优化方案解析
C++中引用和指针有什么区别?(代码说明)
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
如何选择最佳自助建站系统?快速指南解析优劣
C++时间戳转换成日期时间的步骤和示例代码
如何设置并定期更换建站之星安全管理员密码?
宝塔建站助手安装配置与建站模板使用全流程解析
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
制作证书网站有哪些,全国城建培训中心证书查询官网?
中山网站制作网页,中山新生登记系统登记流程?
如何自定义建站之星网站的导航菜单样式?
红河网站制作公司,红河事业单位身份证如何上传?
常州企业建站如何选择最佳模板?
*请认真填写需求信息,我们会在24小时内与您取得联系。