当前位置: 首页 > news >正文

实现吸顶效果,一个页面多个元素吸顶效果

前言

新业务开发用到了吸顶效果而且是一个页面滚动到不同的位置不同的元素进行吸顶叠加。我是基于uniapp去写的,原理思路都一样

代码部分

下面的代码我写了两种方法都是一样的一个是通过js控制变量添加元素一个是直接通过css样式进行控制

		<!-- 上半部总览位置 --><view :class="{user_Overview:true}">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</view><!-- 中间搜索框 --><view  :class="{input_box:true,stickystyle2:stickystyle2}">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</view><script>
import {getCurrentDate} from '@/common/util.js'export default {data() {return {stickystyle2:false,}methods: {//离开这个页面的时候栏吸顶效果消失onUnload(){this.stickystyle1=false;this.stickystyle2=false;},onPageScroll(e) { //nvue暂不支持滚动监听,可用bindingx代替// console.log("滚动距离为:" + e.scrollTop);if(e.scrollTop>380){this.stickystyle2=true}else{this.stickystyle2=false}},}}</script><style>//第一中方式直接设置position: fixed;,但是该元素不触发吸顶的时候脱离文档流后面的元素会补位,//所以需要给后一个元素进行设置padding-top或者maigin-top值就是该元素的高度//这个地方设置position: sticky;也是可以的.user_Overview{width: 750rpx;height: 70rpx;// border: 1px solid red;display: flex;position: fixed;top: 0;left: 0;z-index: 99;justify-content: space-between;padding:0rpx 32rpx;background-image: linear-gradient(180deg, #FFE7D2 0%, #FFE7D2 100%);}.input_box{padding:16rpx 32rpx 16rpx 32rpx;background: #FFFFFF;height: 100rpx;}.stickystyle2{position: fixed;top: 70rpx;left: 0;width: 100%;z-index: 999;// #ifdef APP-PLUStop: 158rpx;left: 0;// #endif}</style>

结语

吸顶效果很常见,这是我自己的写法,是通过uniapp自带的监听滚动事件,如果是vue使用window.addEventListener(“scroll”, this.add);或者js可以通过document.body.scrollTop,一通百通。

http://www.lryc.cn/news/416932.html

相关文章:

  • 【C++入门(下)】—— 我与C++的不解之缘(二)
  • 【数据结构】哈希应用-STL-位图
  • Unbuntu 服务器- Anaconda安装激活 + GPU配置
  • python 装饰器记录函数用时
  • 实验10 任何一个非0自然数m的立方均可写成m个连续奇数之和。
  • Jenkins的安装方式
  • 网络之华为S5700S-52P-LI交换机系统恢复
  • 蜂窝网络架构
  • 培训第二十二天(mysql数据库主从搭建)
  • 速盾:CDN回源失败都有什么原因?
  • C语言 | Leetcode C语言题解之第328题奇偶链表
  • 8月6日笔记
  • 爱可声助听器:在全球听力市场中破冰前行
  • 华为OD面试 - 最佳升级时间窗(Java JS Python C C++)
  • LE-50821F/FA激光扫描传感器|360°避障雷达之性能参数与配置清单说明
  • 精准洞察农田生态,智慧农业物联网环境监测与数据采集系统来袭
  • sql注入复现(1-14关)
  • Spring Boot-12
  • 【Linux】进程详解
  • python的多线程
  • 在Kylin服务器安装PostgreSQL16数据库
  • 【第15章】Spring Cloud之Gateway网关过滤器(URL黑名单)
  • pytorch和deep learning技巧和bug解决方法短篇收集
  • 【socket编程】UDP网络通信 {简单的服务器echo程序;简单的远程控制程序;简单的网络聊天室程序}
  • 大数据存储解决方案:HDFS与NoSQL数据库详解
  • 如何用 ChatGPT 提升学术写作:15 个高效提示
  • 【算法】贪心算法
  • 常见中间件漏洞复现之【Jboss】!
  • Java常用中间件(后续更新)
  • 网站或者网页Cookie 启用说明