小程序-添加粘性布局

复制代码
// 获取元素位置
const getElementPosition = () => {
    const query = uni.createSelectorQuery()
    
    // 获取顶部栏高度
    query.select('.anchor-title').boundingClientRect()
    // 获取筛选区域位置和高度
    query.select('.filter-section').boundingClientRect()
    
    query.exec(res => {
        // 计算顶部栏高度(包括状态栏和搜索框)
        if (res[0]) {
            topBarHeight.value = res[0].top + 80 // 加上一些边距
        }
        
        // 获取筛选区域的位置
        if (res[1]) {
            filterTop.value = res[1].top
            filterHeight.value = res[1].height
        }
    })
}

// 滚动处理
const handleScroll = (e: any) => {
    const scrollTop = e.detail.scrollTop
    
    // 判断是否吸顶
    if (filterTop.value > 0) {
        const shouldFix = scrollTop >= filterTop.value - topBarHeight.value
        if (isFilterFixed.value !== shouldFix) {
            isFilterFixed.value = shouldFix
        }
    }
}
  1. 添加元素占位,

2.添加粘性布局

  1. 筛选栏滑动到一定位置后, 变成吸顶的筛选栏,
  1. 在筛选框位置添加占位,

  2. 写一个单独的定位筛选栏, 页面滚动到一定位置后,展示这个单独的定位栏

相关推荐
無限進步D1 小时前
Java 面向对象高级 继承
java·开发语言
We་ct1 小时前
HTML5 原生拖拽 API 实战案例与拓展避坑
前端·html·api·html5·拖拽
英俊潇洒美少年1 小时前
Vue2业务组件库生产级最佳实践:零依赖+依赖注入方案
前端·vue.js·重构
贵沫末1 小时前
Python——图像处理项目Conda环境搭建
开发语言·python·conda
白日梦想家6811 小时前
定时器实战避坑+高级用法,从入门到精通
开发语言·前端·javascript
遗憾随她而去.1 小时前
前端 Loadsh 经常使用的方法总结
前端
white-persist1 小时前
逆向入门经典题:从 IDA 反编译坑点到 Python 解题详细分析解释
c语言·开发语言·数据结构·python·算法·逆向·安全架构
是宇写的啊2 小时前
MyBaties
java·开发语言·mybatis
Csvn2 小时前
前端安全加固:XSS、CSRF、CSP 防护实战
前端