js实现移动端手指左右上下滑动翻页效果

var ele = document.getElementsByClassName("img-box")[0];
        var beginX, beginY, endX, endY, swipeLeft, swipeRight;
        ele.addEventListener(‘touchstart‘, function (event) {
            event.stopPropagation();
            event.preventDefault();
            beginX = event.targetTouches[0].screenX;
            beginY = event.targetTouches[0].screenY;
            swipeLeft = false, swipeRight = false;
        });

        ele.addEventListener(‘touchmove‘, function (event) {
            event.stopPropagation();
            event.preventDefault();
            endX = event.targetTouches[0].screenX;
            endY = event.targetTouches[0].screenY;
            // 左右滑动
            if (Math.abs(endX - beginX) - Math.abs(endY - beginY) > 0) {
                /*向右滑动*/
                if (endX - beginX > 0) {
                    swipeRight = true;
                    swipeLeft = false;
                }
                /*向左滑动*/
                else {
                    swipeLeft = true;
                    swipeRight = false;
                }
            }
            else if(Math.abs(endX - beginX) - Math.abs(endY - beginY) < 0)
            {
                // 上下滑动
            }
        });
        ele.addEventListener(‘touchend‘, function (event) {
            event.stopPropagation();
            event.preventDefault();

            if (Math.abs(endX - beginX) - Math.abs(endY - beginY) > 0) {
                event.stopPropagation();
                event.preventDefault();if (swipeRight) {
                    swipeRight = !swipeRight;
                    /*向右滑动*/
                }
                if(swipeLeft) {
                    swipeLeft = !swipeLeft;
                    /*向左滑动*/
                }
            }
        });

除了这种方法之外可以使用第三方插件来实现同样的效果,如QuoJS包含了多种移动端手势效果及ajax请求等操作,但是在使用过程中遇到了问题。使用了QuoJS后,会造成JQuery的一些单击事件和一些a标签href属性失效。并且发现QuoJS的swipeLeft和swipeRight事件中,手指只能水平滑动,如果稍微倾斜一点滑动,则事件不生效,也不知道是不是本人的设备问题。

时间: 2024-08-11 03:38:18

js实现移动端手指左右上下滑动翻页效果的相关文章

微信里经常看到的滑动翻页效果,slide

上个星期我们的产品姐姐让我帮她写个微信里经常看到的滑动翻页效果,今天抽空写了3个小demo(只写了webkit需要chrome模拟手机看 开启touch事件), 故此写个随笔. 1.demo1,整个大容器tranlateY(性能应该是最好的,但是如果增删一页的话对css影响很大,如果用sass或less除外) html: <!DOCTYPE html> <html> <head> <title></title> <meta name=&qu

FlipViewPager 对item实现左右对折滑动翻页效果《IT蓝豹》

FlipViewPager 对item实现左右对折滑动翻页效果 <FlipViewPager 对每一条item实现左右对折滑动翻页效果>,解决左右滑动和上下滑动的事件分发处理机制.内部实现如下:用ListView试下,对listview设置adapter,这个adapter继承BaseFlipAdapter<Friend>,然后对每一个item进行view处理,部分代码如下:class FriendsAdapter extends BaseFlipAdapter<Friend

桌面浏览器实现滑动翻页效果(Swiper)

还是那个号称很炫的B/S展示软件,在液晶屏上展示需要有滑动翻页的效果(在同一页面滑动切换内容,不是切换页面),最后确定使用功能很强大的Swiper类库. 具体优点可参考:http://www.chinaz.com/free/2013/0626/307273.shtml 我自己的感觉是:功能强大.示例丰富.文档详细. 官方网站:http://www.chinaz.com/free/2013/0626/307273.shtml GitHub地址:https://github.com/nolimits

NGUI 滑动翻页效果

using UnityEngine; using System.Collections; public class PageView : MonoBehaviour { const int ITEM_NUM = 2; //总页数 const int PAGE_WIDTH = 2048; //页宽 const float DRAG_SPEED = 0.5f; //翻页时间 const int DRAG_OFFECT = 30; //滑动的起点和终点的差需大于这个数才能触发翻页效果 float be

实现手机滑动翻页效果

var nStartX,nEndX,nDetalX; function touchToNextPage(){ document.addEventListener('touchstart', function (e) { //获得手指开始碰触屏幕时的x坐标 nStartX = e.touches[0].pageX; },false); document.addEventListener('touchmove', function (e) { //获得手指滑动过程中的x坐标 nEndX =Numbe

vue-awesome-swiper - 基于vue实现h5滑动翻页效果

说到h5的翻页,很定第一时间想到的是swiper.但是我当时想到的却是,vue里边怎么用swiper?! 中国有句古话叫:天塌下来有个高的顶着. 在前端圈里,总有前仆后继的仁人志士相继挥洒着热汗(这里没有血),在我们小白需要用到两个技术结合的时候,他们早已冲向前为我们杀出了一条路,准备好了实现用的技术和方案.有时候我就在想,我的理想大概就是站在自己现在仰望的代码塔的顶峰,像他们一样,不断输出自己的热情和力量,产出一个可以为人所用的东西,以能够为后来人发光发热吧. vue-awesome-swip

移动端手指操控左右滑动的菜单

<!DOCTYPE html> <html lang="en"> <head> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"> <meta charset="UTF-8"> <title>移动

【jQueryMobile】使用jQueryMobile实现滑动翻页的效果

滑动手势在移动设备是很流行的,在移动设备中滑动翻页中很常见 虽然这个功能可以在jQueryMobile中实现,但是个人与之前写的<[jQuery]论手机浏览器中拖拽动作的艰难性>(点击打开链接)中的观点一直,由于这是在手机浏览器中浏览,而不是安卓的一个独立APP,所以不要经常除点击以外的移动设备手势,以免跟手机浏览器与手机系统本身的手势发生冲突. 那么,使用jQueryMobile实现滑动翻页的效果到底怎么做呢? 一.基本目标 在手机浏览器中的jQueryMobile框架页中现实滑动手势翻页的

Android中实现滑动翻页—使用ViewFlipper(dp和px之间进行转换)

Android中实现滑动翻页—使用ViewFlipper(dp和px之间进行转换) Android中dp和px之间进行转换 在xml布局文件中,我们既可以设置px,也可以设置dp(或者dip).一般情况下,我们都会选择使用dp,这样可以保证不同屏幕分辨率的机器上布局一致.但是在代码中,如何处理呢?很多控件的方法中都只提供了设置px的方法,例如setPadding,并没有提供设置dp的方法.这个时候,如果需要设置dp的话,就要将dp转换成px了. 以下是一个应用类,方便进行px和dp之间的转换.