From 3f4d42674eb549591853405880bd609104170791 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=99=88=E6=B5=A9?= <15830956848@163.com>
Date: Sat, 7 Jun 2025 11:13:49 +0800
Subject: [PATCH] =?UTF-8?q?=E8=A7=86=E9=A2=91=E4=BA=8C=E7=BA=A7=E8=B0=83?=
=?UTF-8?q?=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
components/vlog/local.nvue | 14 ++++++++++++++
pages/tabbar/vlog/index.nvue | 9 +++++++--
2 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/components/vlog/local.nvue b/components/vlog/local.nvue
index 1953a050..cc90fe1c 100644
--- a/components/vlog/local.nvue
+++ b/components/vlog/local.nvue
@@ -447,6 +447,7 @@ import { vlogList, vlogLike, vlogUnLike, vlogComment, vlogFollow, vlogTotalLiked
export default {
data() {
return {
+ prevOffsetY: 0, // 新增:记录上一次滑动的垂直偏移量
noData: '',
//下面打🌟号的是必须要的基础字段
//下面打💗号的是拥有滑动条的必须字段
@@ -1034,6 +1035,18 @@ export default {
},
scrolls(event) {
this.isDragging = event.isDragging;
+ const currentOffsetY = event.contentOffset.y; // 当前垂直偏移量
+
+ // 判断滑动方向(仅在滑动过程中判断)
+ if (this.isDragging) {
+ if (currentOffsetY > this.prevOffsetY) {
+ console.log('用户向下滑动');
+ this.$emit('isno',1);
+ } else if (currentOffsetY < this.prevOffsetY) {
+ console.log('用户向上滑动');
+ this.$emit('isno', 0);
+ }
+ }
if (!event.isDragging) {
//isDragging:判断用户是不是在滑动,滑动:true,停止滑动:false。我们要用户停止滑动时才给 k 赋值,这样就可以避免很多麻烦
var i = Math.round(Math.abs(event.contentOffset.y) / (this.wHeight - this.deleteHeight + 1)); //先用绝对值取出滑动的距离,然后除以屏幕高度,取一个整,就知道你现在滑动到哪一个视频了
@@ -1048,6 +1061,7 @@ export default {
}, num);
}
}
+ this.prevOffsetY = currentOffsetY; // 更新上一次偏移量
},
init() {
this.page = 1;
diff --git a/pages/tabbar/vlog/index.nvue b/pages/tabbar/vlog/index.nvue
index c7147337..39eeb263 100644
--- a/pages/tabbar/vlog/index.nvue
+++ b/pages/tabbar/vlog/index.nvue
@@ -16,7 +16,7 @@
@onAnimationEnd="animationfinish"
>
-
+
-
+