首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

scrollIntoView() 让元素进入可视区

介绍 DOM元素的 scrollIntoView()方法是一个IE6浏览器也支持的原生JS API,可以让元素进入视区,通过触发滚动容器的定位实现。...Boolean型参数,true or false element.scrollIntoView(options); // Object型参数 当参数为Boolean时: 如果为 true,元素的顶端将和其所在滚动区的可视区域的顶端对齐...如果为 false,元素的底端将和其所在滚动区的可视区域的底端对齐。相应的options: {block:"end",inline:"nearest"}。...当参数为options对象时,属性有: behavior:定义动画过渡效果, "auto"或 "smooth(平滑滚动)" 之一。默认为 "auto"。...PS:CSS平滑滚动方式: .box { scroll-behavior: smooth; } 参考链接 https://www.zhangxinxu.com/wordpress/2018/

98210

(五)IntersectionObserver 监听元素进入离开指定可视区

'IntersectionObserver' 监听元素进入离开指定可视区域 说明 在开发过程中,我们可能经常需要监听元素是否进入可是区域,平时我们都是监听滚动条的高度,但是这样非常消耗资源,在这里我们可以使用.../ io.observe接受一个DOM元素,添加多个监听 使用forEach io.observe(item) }) 配合vue实现demo dome 配合 vue 写一个自定义指定,当元素进入可视区域的时候给他加上一个...class 离开可视区域的时候给他移除 class 第一步 在 vue 的 src 文件夹下面创建一个 directives 文件夹,文件夹里面创建一个 index 的 ts 或 js 文件 /*...* * @describe 自定义指令模块 * @params { * ToAnimation 进入可视区域动画 离开可视区域动画 * formAnimation...离开可视区不移除class * } */ import ToAnimation from ".

2.8K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JS简易整页滚动

    fullPage超简易版本 1.知识点 JS 滚动监听事件 JS 移动端touch监听事件 函数节流 DOM操作 2.示例GIF ?...CSS html, body设置 overflow 为 hidden, 让视图中只包括一个分页;设置滑动分页的长宽都是 100%; 外部容器设置 transition 过渡效果, 并设置为相对定位, 滚动是修改外部容器的...Top 值, 实现滚动效果. html, body { padding: 0; margin: 0; overflow: hidden; } .page-container { position...向下滚动时, 当 currentPosition 比 -整体分页高度 大的时候(绝对值相比小的时候), 向下滚动;向上滚动时, 当 currentPosition 大于 0 的时候, 向上滚动. /...滚动事件firefox与其他浏览器的事件不同, 所以需要进行判断. deltaY大于0的时候, 想下滚动; 反之, 向上滚动. var handlerWheel = throttle(scrollMove

    15.6K31

    JS判断滚动条是否停止滚动

    背景:昨天一个同事有种需求,有一个展示数据区域的div,带滚动条,当滚动滚动时,需要向后台发请求,计算数据,再拿到前台展示。        ...分析:由于数据量级别较大,所以当滚动滚动时,如果时时向后台发请求,对服务器和浏览器都造成巨大的压力。想到的解决方案是,当滚动条停止时,再去发请求计算数据。...那么问题来了,如何判断滚动条是否停止了呢?        解决:搜索了一下,js本身是无法判断滚动条是在滚动状态还是停止状态,只有通过其它方式了。...后来想到的思路是当滚动滚动的时候,发起一个定期执行的方法,并记录一次当前滚动条到顶部的距离,这个方法中判断此时滚动条到顶部的距离是否和上次记录的相等,如果相等,那么说明停止滚动了,不相等,还在滚动。...-- // 让浏览器出现滚动条 for(var i = 0; i < 100; i++) { document.write(""); } var topValue = 0,//

    17.4K00

    第107期:前端搜索列表中某一项并滚动可视区

    标题中描述的场景适用于表单内容项很多,比如几十或者上百条的时候,需要我们滚动表单内容才能找到我们要想要修改的表单项。 也有可能是表格一次展示了百十条数据,需要前端搜索某一项,滚动该项到可视区域内。...大致的图形描述如下: image.png 比如上图中dog超出了在可视区域的下方,则需要填写该数据时,在页面上进行搜索,让dog显示到可视容器内。...一种是用原生JS,document.getElemtById()或者document.getElmentByClassName()以及document.getElementByTagName()。...情况一,查询元素位于滚动容器之下: image.png 这时候需要滚动容器向上滚动滚动的距离计算方式大致是: let {height} = scrollContent.getBoundingClientRect...情况二,查询元素位于滚动容器之上: image.png 这时候需要滚动容器向下滚动滚动的距离计算方式大致是: // 当前滚动容器的scrollTop - 查询元素超出容器的高度 let currentScrollTop

    1.7K20

    「前端进阶」高性能渲染十万条数据(虚拟列表)

    简单说明一下,为何两次 console.log的结果时间差异巨大,并且是如何简单来统计 JS运行时间和 总渲染时间: 在 JS 的 EventLoop中,当JS引擎所管理的执行栈中的事件以及所有微任务事件全部执行完后...实现 虚拟列表的实现,实际上就是在首屏加载的时候,只加载 可视区域内需要的列表项,当滚动发生时,动态通过计算获得 可视区域内的列表项,并将 非可视区域内存在的列表项删除。...,用于形成滚动条 infinite-list 为列表项的 渲染区域 接着,监听 infinite-list-container的 scroll事件,获取滚动位置 scrollTop 假定 可视区域高度固定...在虚拟列表中应用动态高度的解决方案一般有如下三种: 1.对组件属性 itemSize进行扩展,支持传递类型为 数字、 数组、 函数 可以是一个固定值,如 100,此时列表项是固定高度的 可以是一个包含所有列表项高度的数据...为了使页面平滑滚动,我们还需要在 可见区域的上方和下方渲染额外的项目,在滚动时给予一些 缓冲,所以将屏幕分为三个区域: 可视区域上方: above 可视区域: screen 可视区域下方: below

    10.6K74
    领券