手机网页手指滑动页面实现上下翻页

请问您的问题解决了吗?我现在也需要写这个效果,可以指点一下我吗?最好能给下源码。谢谢!... 请问您的问题解决了吗?我现在也需要写这个效果,可以指点一下我吗?最好能给下源码。谢谢! 展开
 我来答
Liner_z2013
推荐于2017-12-15 · TA获得超过238个赞
知道答主
回答量:94
采纳率:0%
帮助的人:20.3万
展开全部
var playGround = $('#playGround'), // 要使用滑动的元素
isStart = false,
isMove = false,
startX = 0,
startY = 0,
dx = 0,
dy = 0,
x = 0,
y = 0;

playGround.bind('touchstart', function (e) {
isStart = true;
startX = e.targetTouches ? e.targetTouches[0].clientX : e.clientX;
startY = e.targetTouches ? e.targetTouches[0].clientY : e.clientY;
dx = 0;
dy = 0;
});

playGround.bind('touchmove', function (e) {
$.preventDefault(e);

if (!isStart) {
return;
}

x = e.targetTouches ? e.targetTouches[0].clientX : e.clientX;
y = e.targetTouches ? e.targetTouches[0].clientY : e.clientY;
dx = x- startX;
dy = y - startY;

if (isMove || (Math.abs(dy) > Math.abs(dx))) {
isMove = true;
} else {
isStart = false;
}
});

playGround.bind('touchend', function (e) {
if (isStart && isMove) {
$.preventDefault(e);
if (dy > 0) {
// 执行往下翻页的方法。

down();
} else if (dy < 0) {
// 执行往上翻页的方法。
up();
}
}
isStart = false;
isMove = false;
});
追问
谢谢你的热心回答,不过我看不懂,有点复杂。我的案例就是几个页面之间需要用手指触屏滑动上下翻页。你写的我看不懂。。。
追答
=。=
我上面代码是复杂了点。。。
实在不行的话,你用zepto.js吧,里面内置了swipe, swipeLeft, swipeRight, swipeUp, swipeDown等事件,当元素被划过时触发。你需要用到的是swipeUp, swipeDown。
$('body').swipeUp(function(){
up();
});

$('body').swipeDown(function(){
down();
});
参考网址:http://www.css88.com/doc/zeptojs_api/#touch
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式