原生js移动端touch事件实现上拉加载更多
大家都知道jQuery里没有touch事件,所以在移动端使用原生js实现上拉加载效果还是很不错的,闲话不多说,代码如下:
//获取要操作的元素
var objSection = document.getElementsByTagName("div")[0];
//给元素绑定监听事件 个人习惯把监听事件写在一块
objSection.addEventListener("touchstart", touchStart, false);
objSection.addEventListener("touchmove", touchMove, false);
objSection.addEventListener("touchend", touchEnd, false); //touchStart 触发事件时要执行的方法
function touchStart(event) {
event.preventDefault();
this.startY = event.changedTouches[0].pageY;
} //touchMove 触发事件的过程执行的方法
function touchMove(event) {
var change = event.changedTouches[0].pageY - this.startY;
this.change = change;
this.parentNode.style["-webkit-transform"] = "translate(0," + this.change + "px)";
this.parentNode.style["transform"] = "translate(0," + this.change + "px)";
this.parentNode.style["-webkit-transition"] = "all " + 0 + "s";
this.parentNode.style["transition"] = "all " + 0 + "s";
} //touchEnd 事件结束执行的方法
function touchEnd(event) {
if (this.change < 0) {
this.parentNode.style["-webkit-transform"] = "translate(0," + this.change + "px)";
this.parentNode.style["transform"] = "translate(0," + this.change + "px)";
this.parentNode.style["-webkit-transition"] = "all " + 1 + "s";
this.parentNode.style["transition"] = "all " + 1 + "s";
appendData(this);
} else {
this.parentNode.style["-webkit-transform"] = "translate(0," + 0 + "px)";
this.parentNode.style["transform"] = "translate(0," + 0 + "px)";
this.parentNode.style["-webkit-transition"] = "all " + 0.5 + "s";
this.parentNode.style["transition"] = "all " + 0.5 + "s";
}
}
上拉加载更多需要注意的地方:在触发上拉这个动作时记录下当前页的pageY,在动作结束时记录下在页面中的pageY,结束时的pageY-开始时的pageY得到变化的pageY,在做css3动画时需要用到变化的pageY,touchEnd里面的appendData方法为ajax请求数据的方法,在这里不在赘述
简单的实现了基本功能,需要的话可以在这个基础上实现更多功能
欢迎大家批评指正~~
原生js移动端touch事件实现上拉加载更多的更多相关文章
- 移动端h5列表页上拉加载更多
背景 上星期公司要求做一个回收书籍的h5给安卓用,里面有一个功能是回收记录列表.设计师那边出的稿子是没有要求分页或者是上拉刷新的,但是众所周知,列表页数据很多的情况下,h5加载是很慢的.所以我一开始是 ...
- 移动端touch事件 || 上拉加载更多
前言: 说多了都是泪,在进行项目开发时,在上拉加载更多实现分页效果的问题上,由于当时开发任务紧急,所以就百度找了各种移动端的上拉下拉 实现加载更多的插件.然后就留下了个坑:上拉加载的时候会由于用户错误 ...
- 常见开发需求之angular上拉加载更多
需求 移动端使用angular实现上拉加载更多的条目,这个需求比较常见,网上的插件改动起来比较麻烦,不如自己写一个最适合,以前有同事写了一个,奈何bug太多,后来改分页了,我们产品说什么都让做,没 ...
- 实现上拉加载更多的SwipeRefreshLayout
转载请标明出处: http://blog.csdn.net/developer_jiangqq/article/details/49992269 本文出自:[江清清的博客] (一).前言: [好消息] ...
- 移动端实现上拉加载更多(使用dropload.js vs js)
做下笔记,:移动端实现上拉加载更多,其实是数据的分段加载,在这里为了做测试我写了几个json文件作为分段数据: 方式一:使用dropload.js; 配置好相关参数及回调函数就可使用:代码如下 var ...
- js_原生js实现上拉加载更多的功能。
1.人生啊,是我莽撞了啊.这是我公司一个喜欢读书的女孩子的个性签名,喜欢哪些句子,不悲伤,却切切实实的令人喜好. 2.写程序是一件很直接明了的事情,明白了就是明白了,不懂就是不懂,不懂装懂的会让你走很 ...
- H5页面基于iScroll.js插件实现下拉刷新,上拉加载更多
前言 在我之前的项目中,页面总是干巴巴的,用户的体验不是特别完美,我也是一直觉得把设计师给到的psd做出来就好,很少考虑用户的感受.我喜欢看不同的App,操作每个步骤,观赏每个能和我互动的交互设计效果 ...
- 基于SwiperJs的H5/移动端下拉刷新上拉加载更多的效果
最早时,公司的H5项目中曾用过点击一个"加载更多"的DOM元素来实现分页的功能,后来又用过网上有人写的一个上拉加载更多的插件,那个插件是页面将要滚动到底部时就自动请求数据并插入到页 ...
- 基于SwiperJs的H5/移动端下拉刷新上拉加载更多
最早时,公司的H5项目中曾用过点击一个"加载更多"的DOM元素来实现分页的功能,后来又用过网上有人写的一个上拉加载更多的插件,那个插件是页面将要滚动到底部时就自动请求数据并插入到页 ...
随机推荐
- excel链接sharepoint 用于 Excel 的 Microsoft Power Query
https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=39379
- 461. Hamming Distance
https://leetcode.com/problems/hamming-distance/ 将两个二进制数比较,输出不同位数的个数 Input: x = 1, y = 4 Output: 2 Ex ...
- 转:POI操作Excel导出
package com.rd.lh.util.excel; import java.beans.PropertyDescriptor; import java.io.FileOutputStream; ...
- iOS开发CoreGraphics核心图形框架之一——CGPath的应用
一.引言 CoreGraphics核心图形框架相较于UIKit框架更加偏于底层.在Objective-C工程中,CoreGraphics其中方法都是采用C语言风格进行编写的,同时其并不支持Obj ...
- SerialPort 串口开发
private SerialPort sPort = new SerialPort(); //串行端口资源 /// <summary> /// 函数功能:打开串口/关闭串口 /// < ...
- Transaction (Process ID xxx) was deadlocked on lock
Transaction (Process ID 161) was deadlocked on lock | communication buffer resources with another pr ...
- C#设计模式之建造者模式
建造者模式可以将部件本身和它们的组装过程分开,关注如何一步步创建一个包含多个组成部分的复杂对象,用户只需要指定复杂对象的类型即可得到该对象,而无须知道其内部的具体构造细节. 建造者模式:将一个复杂对象 ...
- PHP 开发API接口签名验证
就安全来说,所有客户端和服务器端的通信内容应该都要通过加密通道(HTTPS)传输,明文的HTTP通道将会是man-in-the- middle及其各种变种攻击的温床.所谓man-in-the-midd ...
- Datazen自定义地图
Datazen的地图数据定义主要以ESRI的Shape文件格式为主,这是现如今被广泛使用的一种地图数据格式.在Datazen中,自定义地图需要提供如下两个地图数据定义文件: SHP文件提供地图的位置数 ...
- NetMQ(三): 发布订阅模式 Publisher-Subscriber
ZeroMQ系列 之NetMQ 一:zeromq简介 二:NetMQ 请求响应模式 Request-Reply 三:NetMQ 发布订阅模式 Publisher-Subscriber 四:NetMQ ...