微信小程序如何设置左侧导航栏跟随页面滑动

一、使用 scroll-view 组件实现页面滚动

  1. 在页面的 wxml 文件中,将需要滚动的内容包裹在scroll - view组件内,例如:
html 复制代码
<scroll-view scroll-y="true" style="height: 800rpx;">
    <!-- 这里放置页面的主要内容 -->
</scroll-view>

其中scroll - y="true"表示允许垂直滚动,height属性根据实际布局需求设置滚动区域的高度。

二、导航栏样式和布局

  1. 设计左侧导航栏的样式,可使用position: fixed将导航栏固定在左侧,例如在 wxss 文件中:
css 复制代码
.left-nav {
    position: fixed;
    left: 0;
    top: 0;
    height: 100vh;
    width: 200rpx;
    /* 其他样式设置 */
}

三、关联滚动和导航栏状态

  1. 在 js 文件中,通过监听scroll - view的滚动事件bindscroll来获取滚动的位置信息。
javascript 复制代码
Page({
    data: {
        scrollTop: 0
    },
    onScroll: function (event) {
        this.setData({
            scrollTop: event.detail.scrollTop
        });
    }
})
  1. 根据滚动位置来动态调整导航栏的样式,例如改变导航栏的类名或者直接修改样式属性来实现跟随效果。比如当滚动到一定位置后改变导航栏的透明度等相关样式。
html 复制代码
<view class="left-nav {{scrollTop > 100? 'nav-scroll' : ''}}">
    <!-- 导航栏内容 -->
</view>

在 wxss 文件中:

css 复制代码
.nav-scroll {
    /* 新的导航栏样式,例如改变透明度等 */
    opacity: 0.8;
}
相关推荐
拉不动的猪1 小时前
移动端调试工具VConsole初始化时的加载阻塞问题
前端·javascript·微信小程序
WangHappy2 天前
不写 Canvas 也能搞定!小程序图片导出的 WebView 通信方案
前端·微信小程序
小时前端3 天前
微信小程序选不了本地文件?用 web-view + H5 一招搞定
前端·微信小程序·uni-app
icebreaker3 天前
Weapp-vite:原生模式之外,多一种 Vue SFC 选择
前端·vue.js·微信小程序
icebreaker3 天前
重走 Vue 长征路 Weapp-vite:编译链路与 Wevu 运行时原理拆解
前端·vue.js·微信小程序
大米饭消灭者6 天前
Taro是怎么实现一码多端的【底层原理】
微信小程序·taro
FliPPeDround7 天前
Vitest Environment UniApp:让 uni-app E2E 测试变得前所未有的简单
微信小程序·e2e·前端工程化
FliPPeDround7 天前
微信小程序自动化的 AI 新时代:wechat-devtools-mcp 智能方案
微信小程序·ai编程·mcp
吴声子夜歌7 天前
小程序——布局示例
小程序
码云数智-大飞7 天前
如何创建自己的小程序,码云数智与有赞平台对比
微信小程序