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 招商合作