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

一、使用 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;
}
相关推荐
icebreaker8 小时前
Weapp-vite:原生模式之外,多一种 Vue SFC 选择
前端·vue.js·微信小程序
icebreaker8 小时前
重走 Vue 长征路 Weapp-vite:编译链路与 Wevu 运行时原理拆解
前端·vue.js·微信小程序
大米饭消灭者3 天前
Taro是怎么实现一码多端的【底层原理】
微信小程序·taro
FliPPeDround4 天前
Vitest Environment UniApp:让 uni-app E2E 测试变得前所未有的简单
微信小程序·e2e·前端工程化
FliPPeDround4 天前
微信小程序自动化的 AI 新时代:wechat-devtools-mcp 智能方案
微信小程序·ai编程·mcp
吴声子夜歌4 天前
小程序——布局示例
小程序
码云数智-大飞4 天前
如何创建自己的小程序,码云数智与有赞平台对比
微信小程序
luffy54594 天前
微信小程序页面使用类似filter函数的wxs语法
微信小程序·小程序
Slow菜鸟4 天前
微信小程序开发(二)目录结构完全指南
微信小程序·小程序
攀登的牵牛花4 天前
给女朋友写了个轻断食小程序:去老丈人家也是先动筷了
前端·微信小程序