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

一、使用 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;
}
相关推荐
程序员王天2 小时前
Uniapp 自定义TabBar + 动态菜单实现教程(Vuex状态管理详解)
微信小程序·uni-app
arbboter3 小时前
【AI插件开发】Notepad++ AI插件开发实践:支持配置界面
人工智能·notepad++·notepad++插件开发·图形化配置界面·windows原生开发·json配置同步·对话框编程
帅次4 小时前
Flutter Expanded 与 Flexible 详解
android·flutter·ios·小程序·webview
kidding7234 小时前
微信小程序怎么分包步骤(包括怎么主包跳转到分包)
前端·微信小程序·前端开发·分包·wx.navigateto·subpackages
低代码布道师6 小时前
加油站小程序实战教程12显示会员信息
低代码·小程序·云开发
码起来呗6 小时前
基于Spring Boot+微信小程序的智慧农蔬微团购平台-项目分享
spring boot·后端·微信小程序
前端 贾公子7 小时前
微信小程序 == 倒计时验证码组件 (countdown-verify)
微信小程序·小程序
白飞飞8 小时前
原生小程序工程化指北:从混乱到规范的进化之路
前端·vue.js·微信小程序
换日线°10 小时前
微信小程序文字混合、填充动画有效果图
css·微信小程序
hmywillstronger12 小时前
【ESP32】【微信小程序】MQTT物联网智能家居案例
物联网·微信小程序·智能家居