提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、基于vue transform: translateY 上下滑动实现
  • 二、使用步骤
  • 总结

前言

提示:这里可以添加本文要记录的大概内容:


提示:以下是本篇文章正文内容,下面案例可供参考

一、基于vue transform: translateY 上下滑动实现?

javaScript -- touch事件详解(touchstart、touchmove和touchend)

touchstart事件:当手指触摸屏幕时候触发,即使已经有一个手指放在屏幕上也会触发。

touchmove事件:当手指在屏幕上滑动的时候连续地触发。在这个事件发生期间,调用preventDefault()事件可以阻止滚动。

touchend事件:当手指从屏幕上离开的时候触发。

touchcancel事件:当系统停止跟踪触摸的时候触发。关于这个事件的确切出发时间,文档中并没有具体说明,咱们只能去猜测了。

二、使用步骤

1.引入库

代码如下(示例):

<div class="roll" id="category3"><ul class="header_nav_new" style="transform: translateY(0px);"id="box"ref="dragBox"@touchstart="touchstartHandle('dragBox',$event)"@touchmove="touchmoveHandle('dragBox',$event)"@touchend="toucendveHandle('dragBox',$event)"><li><a class="J_ping" >111</a></li></ul>
</div>methods: {tz(){const toast = Toast.loading({duration: 0, // 持续展示 toastforbidClick: true,message: '',loadingType: 'spinner',});let second = 1;const timer = setInterval(() => {second--;if (second) {toast.message = ``;} else {clearInterval(timer);// 手动清除 ToastToast.clear();this.$router.push('/camera')}}, 500);},onSearch(val) {Toast(val);},//开始拖动touchstartHandle(refName, e) {let element = e.targetTouches[0]// 记录点击的坐标this.coordinate.client = {x: element.clientX,y: element.clientY}// 记录需要移动的元素坐标this.coordinate.elePosition.left = this.$refs[refName].offsetLeftthis.coordinate.elePosition.top = this.$refs[refName].offsetTop},//正在拖动touchmoveHandle(refName, e) {let element = e.targetTouches[0]// 根据初始 client 位置计算移动距离(元素移动位置=元素初始位置+光标移动后的位置-光标点击时的初始位置)let y = this.coordinate.elePosition.top + (element.clientY - this.coordinate.client.y)let divHg1 = document.getElementById("category3").clientHeight;let divHg = divHg1*1/3;// 限制可移动距离,不超出可视区域y = y >=0  ? 0 : y <= '-'+divHg  ? '-'+divHg  : y// 移动当前元素let ScaleNum = y + 'px'this.$refs[refName].style.transform = `translateY(${ScaleNum})`},//结束拖动toucendveHandle(refName, e){// let element = e.targetTouches[0]let element=document.defaultView.getComputedStyle(document.getElementById('box'),null).transform;let tanslateY = parseFloat(element.substring(6).split(',')[5]);let divHg = document.getElementById("box").clientHeight*1/3;if(tanslateY>0){let divHg = document.getElementById("box");let ScaleNum =0this.$refs[refName].style.transform = `translateY(${ScaleNum})`}if(tanslateY<divHg){let divHg = document.getElementById("box");let ScaleNum =0this.$refs[refName].style.transform = `translateY(${ScaleNum})`}},
},

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单基于vue transform: translateY 上下滑动实现的方法

基于vue transform: translateY 上下滑动实现相关推荐

  1. 基于 vue +better scroll滑动切换页面 并支持下拉刷新案例

    也是公司项目 ,内部app的资讯模块整改,改是不可能改的,之前还是用jquery.感觉越改越混乱,还是重做.就仿着今日头条.等资讯页面做了一个dome,话不多说,先看效果! 微信扫码预览 效果看完,感 ...

  2. 原生JS实现移动端模块的左右滑动切换效果,基于vue、stylus

    原生JS实现移动端模块的左右滑动动画效果,基于vue.stylus 大概实现方案: 手指touch屏幕的整个过程,会派发touchstart.touchmove.touchend三个事件,对这三个事件 ...

  3. vue实现卡片式上下滑动_基于Vue.js仿制探探卡片左右滑动特效

    说明 > 最近一直在捣鼓Nuxt.js项目,项目中有个需求是实现类似探探左右滑动切换功能.要求能实现手指拖拽切换.点击按钮进行切换.拖拽回弹等功能. 如上图:最终展示效果 emmm~~ 是不是感 ...

  4. 【原创】基于vue。简单、优雅的评论插件(包含颜文字表情、滑动验证)。

    主要功能 支持颜文字emoji表情(╮( ̄▽ ̄)╭) 支持滑动验证. 评论为空不允许提交. 封装了几个常用的方法. 在线浏览 1.用户已登录 2.用户未登录 使用方法 <template> ...

  5. 基于vue element-ui 封装上传图片组件 功能:上传,删除,预览,上传图片水印,拖拽排序,上传进度条等

    学习目标: 我们在开发后台时肯定避免不了上传图片的功能 例如: 上传图片回显 上传完成 : 预览查看 , 删除等 如果是图片列表,还可能让你拖动图片排序 有的后台项目可能要给图片添加水印,添加标记 有 ...

  6. js时间选择器_Vuestic Admin一款免费与美妙基于Vue.js开发的管理模板

    Vuestic Admin 简介 vuestic admin是一款流行,免费与美妙的基于Vue.js开发出来的管理模板,包括38以上个定制用户界面组件,由Epicmax开发,由Vasili Savit ...

  7. 实现一个基于Vue的Button小组件

    概述 原生HTML的button只能保证功能存在,样式都不怎么好看.当然也可以通过编写css样式来改变原生HTML中的button显示,但是现在各个UI框架都很流行,也很方便,很多时候都是直接引入框架 ...

  8. 基于VUE的SVG动画处理(一)

    基于VUE的SVG动画处理(一) 提示:涉及vue.photoshop.svg动画 一.创建SVG文件 方法一:使用photoshop绘制所需接线图,导出svg格式. 第一种:快速导出SVG编辑-&g ...

  9. 基于Vue开发的电商APP项目——蘑菇街app

    基于Vue开发的电商APP项目--蘑菇街 项目源码:https://github.com/Limna777/Shopmall.git 1.项目描述 2.使用的插件或第三方库 3.页面主要实现的功能 1 ...

  10. D3.js树图tree 组织机构分布图(基于vue)

    @[TOC](D3.js树图tree 组织机构分布图(基于vue)) 背景 前段时间接到一个需求,仿照企业查查->企业族谱 使用d3画出企业关系树图.这也是本人第一次接触d3.js,总体来说就是 ...

最新文章

  1. python中根据URL获得数据库的名称及IP
  2. 3、事件响应函数(一)
  3. Las Vegas拉斯维加斯(赌城)游记
  4. git批量删除文件和批量提交
  5. python计算两个数的最大公约数和最小公倍数
  6. tensorflow之预测手写字的概率
  7. JavaScript实用代码片段
  8. Java游戏程序设计教程 第2章 游戏设计的基本流程
  9. Maven学习记录之依赖问题 Missing artifact org.aspectj:aspectjweaver:jar:1.8.0.M1
  10. 关于 傅里叶变换 的一些理解(通俗版)
  11. 咸阳强生告诉你吃什么食物养胃效果好
  12. From CodingHorror: The Long, Dismal History of ...
  13. 骨架屏-vue3中实现
  14. C语言实现顺序栈的基本操作(初始化、判断空、入栈、出栈、获取栈顶元素)
  15. discuz 配置 上传远程附件
  16. 【张亚飞】 准确、完整地把握Flash动画设计的知识体系——Flash用户入门必读...
  17. CodeChef MONOPLOY Gangsters of Treeland
  18. 千寻位置服务器端口设置错误,南方GPS千寻网络设置
  19. 阿里矢量图iconfont的使用方法
  20. 机构偏爱的选股指标——OBV能量潮新篇

热门文章

  1. Vue · 导航守卫:beforeRouteEnter、beforeRouteUpdate、beforeRouteLeave
  2. 【Derivation】 条件数学期望公式泊松分布推导(Poisson distribution)
  3. css图片插入文字,利用css布局在图片插入文字
  4. 《Dreamweaver CS6 完全自学教程》笔记 第四章:创建站点
  5. Pdf转Word用Python轻松完成
  6. python opencv颜色通道_【Python+OpenCV之五】 分离颜色通道多通道图像混合
  7. CIE1931标准色度系统
  8. 超声波测距模块工作原理
  9. 这次,多地消防控制室双人值守可变单人值守
  10. 飞睿科技微波雷达感应方案,多普勒雷达效应技术应用