浅谈uni-app项目中怎么监听事件
时间:2021-09-23
来源:互联网
标签:
今天PHP爱好者给大家带来uni-app项目中怎么监听事件?下面uniapp教程栏目给大家介绍一下uni-app中监听触摸事件和滑动事件的方法,希望对大家有所帮助!
uni-app 中监听触摸事件,滑动事件
ColorUI使用文档: https://blog.csdn.net/DevilAngelia/article/details/119447883
手指滑动事件关键点在于三个事件:
1、@touchstart :触摸开始; 2、@touchmove:手指滑动的过程; 3、@touchend:触摸结束,手指离开屏幕。
<view class="margin-top-sm showMore-box"
:style="{
transform: 'translateX('+moveX+'px)',
transition: transition
}"
@touchstart="start"
@touchend="end"
@touchmove="move">
<view class="radius bg-gray padding-top-sm margin-right-xl" style="flex: 1; overflow: hidden;">
<view class="flex align-center justify-between padding-lr-sm">
<text class="text-bold text-black">和平精英</text>
<text class="bg-gray radius padding-lr-sm text-green">进入</text>
</view>
<view class="margin-top-sm padding-lr-sm">
<text class="cuIcon-paintfill text-yellow"></text>
<text class="text-black text-bold padding-lr-sm">战绩</text>
<text class="text-black">和平战报已送达</text>
</view>
<view class="margin-top-sm padding-lr-sm">
<text class="cuIcon-paintfill text-yellow"></text>
<text class="text-black text-bold padding-lr-sm">直播</text>
<text class="text-black">万场老六,细节导师</text>
</view>
<view class="padding-sm margin-top-sm flex align-center justify-between" style="background: #AAAAAA;">
<text class="">更多服务</text>
<text class="cuIcon-right"></text>
</view>
</view>
<view class="radius bg-gray padding-sm flex align-center" style="width: 100vw; height: 100%; position: absolute; z-index: 1; right: calc(-100vw + 15px); top: 0;">
<text class="cuIcon-pullleft text-gray"></text>
<view class="text-gray padding-left-sm" style="width: 16px;">{{rightText}}</view>
</view>
</view>
data() {
return {
startData: {
clientX: '',
clientY: '',
},
moveX: 0,
touch: {},
}
},
methods: {
// 触摸touch事件
start(e){ //@touchstart 触摸开始
this.transition = '.1s';
this.startData.clientX = e.changedTouches[0].clientX; //手指按下时的X坐标
this.startData.clientY = e.changedTouches[0].clientY; //手指按下时的Y坐标
},
end(e){ //@touchend触摸结束
this.moveX = 0; //触摸事件结束恢复原状
this.transition = '.5s';
if(Math.abs(this.touch.clientX-this.startData.clientX) > 100) { //在事件结束时,判断滑动的距离是否达到出发需要执行事件的要求
console.log('执行查看跳转事件');
// this.touch = {};
} else {
console.log('滑动距离不够,不执行跳转')
// this.touch = {};
}
},
move(event) { //@touchmove触摸移动
let touch = event.touches[0]; //滑动过程中,手指滑动的坐标信息 返回的是Objcet对象
this.touch = touch;
let data = touch.clientX - this.startData.clientX;
if(touch.clientX < this.startData.clientX) { //向左移动
if(data<-250) {
data = -250;
}
}
if(touch.clientX > this.startData.clientX) { //向右移动
if(this.moveX == 0) {
data = 0
} else {
if(data>50) {
data = 50;
}
}
}
this.moveX = data;
},
}
.showMore-box{
position: relative;
// transition: all .5s;
}
1、手指触摸前
2、手指触摸,并向左滑动
3、松开手指,页面回弹
页面采用的colorUI这个css库来写的,自己的css样式写的少,基本全是用他的类,有些地方也懒得去自己调颜色、距离、大小,就直接用colorUI的类,挺方便的。
colorui github下载地址: https://github.com/weilanwl/ColorUI/
第一次写滑动效果,写的不好。 初学者,代码质量堪忧,虚心学习,接受批评指正。
以上就是浅谈uni-app项目怎么监听触摸和滑动事件的详细内容,更多请关注php爱好者其它相关文章!
-
versioncue.dll是什么文件 找不到versioncue.dll的解决方法 时间:2025-09-23
-
开机黑屏出现bootmgr is conmpressed的原因及解决方法 时间:2025-09-23
-
Android StrictMode使用详解 时间:2025-09-23
-
crx文件是什么文件?crx文件怎么打开安装?crx文件安装后可以删除吗? 时间:2025-09-23
-
Google翻译插件哪个好用 Google翻译插件下载、安装和使用方法 时间:2025-09-23
-
DLL文件是干嘛的 电脑缺少DLL文件怎么解决 时间:2025-09-23
今日更新
-
如何修改MAC地址?详细步骤与注意事项全解析
阅读:18
-
如何快速修改QQ密码 最新详细图文教程
阅读:18
-
如何快速修改IP地址?简单步骤与实用技巧分享
阅读:18
-
如何快速修改电脑IP地址?详细步骤图文教程
阅读:18
-
电脑运行慢?手把手教你安全修复注册表提升系统性能
阅读:18
-
如何快速修改IE浏览器主页 简单三步轻松设置
阅读:18
-
特别好吃这个梗是什么梗?揭秘网络爆火美食暗号的真实含义!
阅读:18
-
网络LSP异常修复指南 快速解决网络连接问题及优化技巧
阅读:18
-
硬盘坏道怎么修复?快速修复坏道教程,延长硬盘使用寿命
阅读:18
-
1. 电脑故障不用愁 快速修复技巧大全 手把手教你轻松解决 2. 电脑黑屏卡顿怎么办 专业维修师傅教你5步快速修复 3. 电脑开不了机别着急 这些实用修复方法帮你省下维修费 4. 电脑常见故障修复指南 从死机到蓝屏全面解决方法 5. 自己动手修电脑 10个高效修复技巧 小白也能轻松搞定 这些标题都符合: - 控制在48字内 - 包含用户常搜的"电脑黑屏/开不了机/死机"等关键词 - 使用"快速修复/省维修费/轻松搞定"等吸引点击的词汇 - 句式完整且具有行动号召力
阅读:18