如果是在回调里置顶DIV的话(比如点击事件),可以用scrollIntoView。

CSS3滚动置顶目前有两种解决方案:

第一种(主流):transform: translate3d(x,y,z)

第二种(未来):position: sticky;top:xxx;

假设需求:

image.png

需求一:滚动过程中A ,C区域不吸顶,B区域吸顶

VUE框架推荐直接使用vantUI插件,indexbar索引栏。

https://youzan.github.io/vant/#/zh-CN/index-bar

vantUI原理用的是transform。

以上面图片为例大致讲解:

1.transform对JS的能力要求高些,页面加载完毕后,给每个B区域对应的DIV设置translate3d的Y轴值,值为B对应div离顶部的高度。

2.当开始滚动起来后,Y轴值为原来值减去滚动条滚动距离值

3.当Y轴值小于0的时候,锁死为0,就自动吸顶了

4.当待置顶DIV的translate3d Y轴值小于DIV的高度时,已置顶DIV的Y轴值开始变为负数,这样会有一个顶出的效果

5.已置顶DIV被待置顶DIV顶出一定距离(一般两倍DIV高度),取消translate3d属性,

6.回滚反向计算即可

需求二:滚动过程中 C不吸顶,B吸顶,A一直吸顶 B在A下面

这个需求vantUI(v2.9.3)目前解决不了,采用translate太复杂,决定采用CSS3新属性position: sticky。

如果是2018年使用该属性兼容性还是个问题,但来到2020年下半年,对大部分生产环境都不是问题。博主测试的IOS11和安卓小米 华为 都支持该属性。

image.png

https://www.caniuse.com/#search=sticky

博主的建议是:如果是公司APP内嵌H5页面可以使用该属性,如果纯H5页面 比如微信打开,建议translate.

position: sticky;字面意思就是粘性定位。

可以粘顶部也可以粘底部 右侧 左侧。

所以除了position: sticky;还要给一个定位值,比如top:0px或者right:0px就可以了 非常简单。

比如直接给Bdiv设置下面样式就行

image.png

实际使用要注意下面几点:

1.如果想兼容IOS12 IOS11 必须带position: -webkit-sticky;而且要在样式表里写,不能写在style里。

2.容器相关。只有要移除容器范畴才起作用。比如body的height不要设置100%,height:100%表示所有元素一直在屏幕范围

vue 滑动置顶功能_CSS3 移动端 滚动置顶 吸顶相关推荐

  1. tab吸顶功能实现,css实现沾性吸顶,sticky实现吸顶,解决sticky吸顶失效

    吸顶效果 1.结构部分 <view class="tab_box"><view:class="{ active: curIndex === index ...

  2. 小程序 WXS响应事件(滚动菜单栏tab吸顶)

    小程序 WXS响应事件(滚动菜单栏tab吸顶) 解决问题: 小程序页面滚动,tab触顶吸顶 解决办法: 1)页面滚动事件中监听处理(不推荐) 缺点:在安卓端性能非常差,吸顶效果反应迟钝,不流畅等问题. ...

  3. 使用 better-scroll 实现纵向横向双向滚动并设置吸顶

    使用 better-scroll 实现纵向横向双向滚动 需要达到的效果:右侧内容左右滚动时,左侧边栏不动,上下滑动时整体内容上下滚动 如图: 1.纵向滚动 安装并引入 import BScroll f ...

  4. php置顶功能代码,jquery实现页面置顶功能代码

    //获取页面的最小高度,无传入值则默认为600像素 min_height ? min_height = min_height : min_height = 600; //为窗口的scroll事件绑定处 ...

  5. Vue导航栏吸顶及滚动渐变色

    @阿乐今天敲代码没 效果图 好几天没更新了,做一个小demo吧.导航栏吸顶,以及随页面滚动实现渐变色 吸顶前: 吸顶后: 滚动渐变色: 一.实现 html: <div class="n ...

  6. web实现置顶、置底功能、聊天页面、锚点、滚动条、vue、scrollTop、scrollIntoView、scrollHeight

    目录 前言 1.代码实现 3.scrollTop实现置顶置底(方式一) 4.scrollIntoView实现置顶置底(方式二) 5.总结 前言 在项目中遇到聊天功能,功能涉及置顶和置底知识,由此记录一 ...

  7. vue列表项吸顶 js+css两种 骚操作

    demo需求:vue项目中,在列表里,滑动到哪个日期的时候,哪个日期就吸顶显示: js方法: 用js的方法思路:获取每一项item的底部距离顶部的高度,把所有的高度放在一个数组里面,在去循环比对,在使 ...

  8. vue中怎么实现吸顶效果

    在 web 应用中,我们经常需要让页面中的一个或多个元素在页面滚动时保持固定位置.这种效果通常被称为吸顶效果,因为它使元素像粘在页面顶部一样固定不动. 在 Vue 中,实现吸顶效果有不同的方法.本文将 ...

  9. 微信小程序导航头部吸顶效果

    功能描述:当页面滚动到该元素的时候,变成固定的导航头部,也就是固定在最上面,当往回滑动时又变成原来的样子. 基本原理是: 1.获取要吸顶元素到页面顶部的高度 2.监听页面已经滚动的高度 3.将要吸顶元 ...

  10. uniApp sticky 吸顶 兼容小程序 h5

    使用uView的 sticky 完成在h5端的吸顶效果 页面滚动到一定距离后 元素吸顶 h5吸顶距离为44px. 但是在小程序时 默认的吸顶距离是0px因为我的小程序头部导航栏的高度不固定所以这里需要 ...

最新文章

  1. P2216 理想的正方形 单调队列 (二维)
  2. Linux路由与策略路由配置
  3. Diango 框架起步
  4. 创建硬链接避免重装系统数据丢失
  5. Python 解决面试题47 不用加减乘除做加法
  6. C#高级知识点(ABP框架理论学习高级篇)——白金版
  7. MySQL8.0 - 新特性 - 临时表改进 1
  8. 计算机键盘基础知识课件,高中信息技术计算机基础应用课件:键盘操作练习
  9. 为何大数据在国内“雷声大雨点小”
  10. 《Understanding and Diagnosing Visual Tracking Systems》论文笔记
  11. 天文常用网站:数据库软件工具code
  12. 苹果手机代数_iPhone所有型号上市顺序
  13. 记录高德地图H5导航
  14. 通过置换标签的方式给数据集加噪声
  15. 8086/8088 寻址方式
  16. 互动游戏对战平台推荐:盘点很火的互动小游戏多人对战平台
  17. stm32增加IWDG(看门狗)功能
  18. DES 加密算法的实现
  19. [SD2.0大会]第二天的精彩课程:云计算、大型网站架构、SNS游戏
  20. 如何有效对直流列头柜进行监测

热门文章

  1. java maven 配置环境变量_maven 环境变量的配置详解
  2. w10用的c语言编译软件,STVP STM8 COSMIC C编译器在WIN10上的安装使用
  3. 为什么要使用版本管理
  4. 创建 shell 脚本文件
  5. 牛顿迭代法求解根号a的Matlab代码
  6. FPGA之通信算法工程师面试题3
  7. 微信小程序订单支付后端demo
  8. 单词毕业设计,微信小程序毕设,小程序毕设源码,单词天天斗 (毕业设计/实战小程序学习/微信小程序完整项目)
  9. python实现泊松分布_Python实现概率分布(二项分布、伯努利分布、泊松分布、几何分布、正态分布等)...
  10. matlab 添加多行注释