From 53019ff5ebab63b98c0058a16b15a52c1089a2c7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=BE=90=E9=A3=9E=E6=B4=8B?=
<15778543+xufeiyang6017@user.noreply.gitee.com>
Date: Mon, 29 Dec 2025 14:27:32 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BE=A7=E8=BE=B9=E6=A0=8F?=
=?UTF-8?q?=E6=8C=89=E9=92=AE=EF=BC=9A=E4=B8=8D=E5=9C=A8=E9=A1=B6=E9=83=A8?=
=?UTF-8?q?=E6=97=B6=E7=82=B9=E5=87=BB=E3=80=8A=E8=87=AA=E5=8A=A8=E9=9A=90?=
=?UTF-8?q?=E8=97=8F=EF=BC=8C=E5=88=B7=E6=96=B0=E9=A1=B5=E9=9D=A2=E4=BF=9D?=
=?UTF-8?q?=E6=8C=81=E8=AE=B0=E5=BF=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/index/index.js | 34 ++++++++++++++++++++++++++++------
pages/index/index.wxml | 2 +-
2 files changed, 29 insertions(+), 7 deletions(-)
diff --git a/pages/index/index.js b/pages/index/index.js
index 8088e9b..7785969 100644
--- a/pages/index/index.js
+++ b/pages/index/index.js
@@ -20,6 +20,7 @@ Page({
currentY: 0,
sidebarBtnTop: 500,
sidebarBtnHidden: false,
+ userManuallyHidden: false,
// 搜索区域相关
searchSectionVisible: true,
@@ -125,9 +126,23 @@ Page({
// 切换按钮显示/隐藏到侧边栏
toggleSidebarBtn() {
- this.setData({
- sidebarBtnHidden: !this.data.sidebarBtnHidden
- });
+ // 如果当前不在顶部,点击则隐藏按钮
+ if (this.data.lastScrollTop > 50) {
+ this.setData({
+ sidebarBtnHidden: true,
+ userManuallyHidden: true
+ });
+ wx.setStorageSync('sidebarBtnHidden', true);
+ wx.setStorageSync('userManuallyHidden', true);
+ } else {
+ const newHiddenState = !this.data.sidebarBtnHidden;
+ this.setData({
+ sidebarBtnHidden: newHiddenState,
+ userManuallyHidden: newHiddenState
+ });
+ wx.setStorageSync('sidebarBtnHidden', newHiddenState);
+ wx.setStorageSync('userManuallyHidden', newHiddenState);
+ }
},
// 触摸开始事件
@@ -179,13 +194,17 @@ Page({
if (Math.abs(diffY) > screenHeight / 3) {
this.setData({
- sidebarBtnTop: -100 // 隐藏按钮
+ sidebarBtnTop: -100, // 隐藏按钮
+ sidebarBtnHidden: true,
+ userManuallyHidden: true
});
wx.setStorageSync('sidebarBtnTop', -100);
wx.setStorageSync('sidebarBtnHidden', true);
+ wx.setStorageSync('userManuallyHidden', true);
} else {
wx.setStorageSync('sidebarBtnTop', this.data.sidebarBtnTop);
wx.setStorageSync('sidebarBtnHidden', false);
+ wx.setStorageSync('userManuallyHidden', false);
}
this.setData({
@@ -211,6 +230,7 @@ Page({
const savedBtnTop = wx.getStorageSync('sidebarBtnTop');
const savedBtnHidden = wx.getStorageSync('sidebarBtnHidden');
+ const savedUserManuallyHidden = wx.getStorageSync('userManuallyHidden');
let defaultTop = screenHeight * 0.5;
if (savedBtnTop !== '' && savedBtnTop !== -100) {
@@ -223,7 +243,8 @@ Page({
this.setData({
sidebarBtnTop: defaultTop,
- sidebarBtnHidden: false,
+ sidebarBtnHidden: savedBtnHidden || false,
+ userManuallyHidden: savedUserManuallyHidden || false,
isSearchBarFullyHidden: false,
lastScrollTop: 0
});
@@ -1116,7 +1137,8 @@ Page({
// 搜索框始终固定显示,不做隐藏处理
// 侧边栏按钮显示逻辑
- if (scrollTop <= threshold && this.data.sidebarBtnHidden) {
+ // 如果用户手动隐藏过,滚动到顶部也不再自动显示
+ if (scrollTop <= threshold && this.data.sidebarBtnHidden && !this.data.userManuallyHidden) {
updates.sidebarBtnHidden = false;
needUpdate = true;
wx.setStorageSync('sidebarBtnHidden', false);
diff --git a/pages/index/index.wxml b/pages/index/index.wxml
index 49fbb00..a7fd2ba 100644
--- a/pages/index/index.wxml
+++ b/pages/index/index.wxml
@@ -88,7 +88,7 @@
bindtap="scrollToTop"
>
↑
- 顶部
+ top