滑动操作

var startX, startY, isStart; //在外部声明startX以用于touchmove和touchend的函数中

$(‘nav‘).on(‘touchstart‘, function(evt) { //手指按倒屏幕上的坐标
    var target = evt.targetTouches[0] || evt.changedTouches[0]; //0表示取第一个手指即单指触摸
    startX = target.pageX;
    startY = target.pageY;
    isStart = 1;
});

$(‘nav‘).on(‘touchmove‘, function(evt) { //手指滑动到屏幕上的坐标
    if(1 !== isStart) {
        return;
    } else {
        isStart = 2;
    }
    var target = evt.targetTouches[0] || evt.changedTouches[0];
    var moveX = target.pageX;
    var moveY = target.pageY;
    var offsetX = moveX - startX;
    var absX = Math.abs(offsetx); //X方向上的偏移量
    var absY = Math.abs(moveY - startY); //Y方向上的偏移量
    if(absX > absY) {
        evt.preventDefault(); //水平滑动时阻止垂直方向的偏移量
    }
});

$(‘nav‘).on(‘touchend touchcancel‘, function(evt) {
    if(2 !== isStart) {
        return; //若只有点击操作而无滑动则不执行下面操作
    } else {
        isStart = undefined;
    }
    var target = evt.targetTouches[0] || evt.changedTouches[0];
    var endX = target.pageX;
    var offsetX = endX - startX;
    if(offsetX > 30) {
        prev(); //水平向右滑动超过一定距离执行上一页
    } else if(offset < -30) {
        next(); //水平向左滑动超过一定距离执行下一页
    } else {
        return;
    }
});

通过手指触摸屏幕和离开屏幕的坐标差来定义滑动

时间: 2024-10-10 05:31:09

滑动操作的相关文章

iOS之UITableView带滑动操作菜单的Cell

制作一个可以滑动操作的 Table View Cell 本文翻译自 http://www.raywenderlich.com/62435/make-swipeable-table-view-cell-actions-without-going-nuts-scroll-views 原作者:Ellen Shapiro Apple 通过 iOS 7 的邮件(Mail)应用介绍了一种新的用户界面方案——向左滑动以显示一个有着多个操作的菜单.本教程将会向你展示如何制作一个这样的 Table View Ce

Appium-Java滑动操作

Java滑动操作,通常可以直接使用API中AndroidDriver类中的swipe方法,直接进行调用 swipe(int startx, int starty, int endx, int endy, int duration) 但是,现在屏幕各式各样,滑动的结束位置均不太好掌控,因此,为了方便,可以将swipe方法进行如下改善 1.不可配置滑动次数 public void swipeToUp(AndroidDriver<AndroidElement> driver,int during){

【深度好文!】滑动操作的维度研究

提示:这篇文章讲解的比较深奥,需要静心阅读,泛读者慎看! 前言 在iOS交互模型的最底层,有一个“空间”的概念(具体可见ios空间模型), 而空间最基本的属性就是三个维度.滑动依存于屏幕这个二维环境,也可以从维度这个角度去思考.最常见的滑动例如ios里删除短信息的操作,这里的滑动是最 基础的,可以理解成一维的.被赋予了唯一功能的操作.但如果认为滑动就是这么简单,那可能忽略了滑动可以为设计带来的千变万化. 当滑动被赋予功能,并与界面(信息或控件)结合时,具有很强的可塑性,并可有效提升操作的易用性.

Android 屏蔽ScrollView滑动操作

屏蔽ScrollView滑动操作,如下,会用到ViewConfiguration这个类,这个类可以获取到用户是否为滑动操作的临界值. 代码如下: package com.xx.uikit.view; import android.content.Context; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.ViewConfiguration; import andro

制作一个可以滑动操作的 Table View Cell

Apple 通过 iOS 7 的邮件(Mail)应用介绍了一种新的用户界面方案——向左滑动以显示一个有着多个操作的菜单.本教程将会向你展示如何制作一个这样的 Table View Cell,而不用因嵌套的 Scroll View 陷入困境.如果你还不知道一个可滑动的 Table View Cell 意味着什么,那么看看 Apple 的邮件应用: 可能你会想,既然 Apple 展示了这种方案,那它应该已将其开放给开发者使用了.毕竟,这能有多难呢?但不幸的是,他们只让开发者使用 Delete 按钮—

微信小程序开发-滑动操作

在实际应用中,当某种手势被触发后,在用户没有放开鼠标或手指前,会一直识别为该手势.比如当用户触发左滑手势后,这时再向下滑动,仍要按照左滑手势来处理. 可以定义一个标记来记录第一次识别到的手势,如果已识别出手势,后续的滑动操作就可以忽略,直到用户放开鼠标或手指.放开鼠标或手指操作可以通过绑定handletouchend事件来处理. Page({ data: { lastX: 0, lastY: 0, text : "没有滑动", currentGesture: 0, }, handlet

滑动操作以及滑动方法封装

滑动解析 滑动主要分为:水平滑动.垂直滑动.任意方向滑动 滑动轨迹 在Appium中模拟用户滑动操作需要使用swipe方法,该方法定义如下: def swipe(self, start_x, start_y, end_x, end_y, duration=None): """Swipe from one point to another point, for an optional duration. 从一个点滑动到另一个点,duration是滑动时间 :Args: - st

Appium_swipe模拟上下左右滑动操作

测试的同学们在做app自动化测时,经常会用到查找元素.定位元素.发送数据.长按.点 击.上滑.下滑.左滑.右滑等操作.下面讲下用appium自带的swipe方法怎么实现上滑. 下滑.左滑.右滑. 前置条件:appium已开启:并且已链接上手机.           通过SDK自带的UIautomator来定位元素.           Python通过appium模块可以正常链接到手机   一.            打开uiautomator来熟悉X.Y坐标的概念 每个元素都有开始和结束坐标.

python selenium模拟滑动操作

selenium.webdriver提供了所有WebDriver的实现,目前支持FireFox.phantomjs.Chrome.Ie和Remote quit()方法会退出浏览器,而close()方法只是关闭页面,但如果只有一个页面被打开,close()方法同样会退出浏览器 使用remote WebDriver 使用remote WebDriver之前,需要先启动selenium server,命令如下: java -jar selenium-server-standalone-2.x.x.ja