网页开发时,常常需要了解某个元素是否进入了"视口"(viewport),即用户能不能看到它. 上图的绿色方块不断滚动,顶部会提示它的可见性. 传统的实现方法是,监听到scroll事件后,调用目标元素(绿色方块)的getBoundingClientRect()方法,得到它对应于视口左上角的坐标,再判断是否在视口之内.这种方法的缺点是,由于scroll事件密集发生,计算量很大,容易造成性能问题. 目前有一个新的 IntersectionObserver API,可以自动"观察&q…
Element.scrollIntoView() 方法让当前的元素滚动到浏览器窗口的可视区域内 element.scrollIntoView(); // 等同于element.scrollIntoView(true) element.scrollIntoView(alignToTop); // Boolean型参数 true 元素的顶端与可视区域顶端对齐,(相当于{block: "start"}) false 元素底端将与可视区域底端对齐(相当于{block: "end&qu…
温馨提示:本文目前仅适用于在 Chrome 51 及以上中浏览. 2016.11.1 追加,Firefox 52 也已经实现. 2016.11.29 追加,Firefox 的人担心目前规范不够稳定,未来很难保证向后兼容,所以禁用了这个 API,需要手动打开 dom.IntersectionObserver.enabled 才行. 2016.12.30 追加,Firefox 53 已经重新开启. IntersectionObserver API 是用来监视某个元素是否滚动进了浏览器窗口的可视区域(…
个性签名: 生如夏花,逝如冬雪:人生如此,何悔何怨. 前言: 经常需要计算元素的大小或者所在页面的位置,offsetWidth,clientWidth,scrollWidth,scrollTop这几个关键字的出现更是家常便饭,每次碰到都需要事先实验一番.为了下次开发提高效率.在这里一次性做个总结,以用来判断元素是否在可视区域以及用原生js简单实现懒加载.文末有个简单的懒加载实现的demo,有需要的可以看一下. 目录 工欲善其事,必先利其器.在判断元素是否在可视区域实现简单的原生懒加载前,我们先简…
转载:原文地址:http://www.ruanyifeng.com/blog/2016/11/intersectionobserver_api.html 网页开发时,常常需要了解某个元素是否进入了"视口"(viewport),即用户能不能看到它. 上图的绿色方块不断滚动,顶部会提示它的可见性. 传统的实现方法是,监听到scroll事件后,调用目标元素(绿色方块)的getBoundingClientRect()方法,得到它对应于视口左上角的坐标,再判断是否在视口之内.这种方法的缺点是,由…
作者: 阮一峰 日期: 2016年11月 3日 网页开发时,常常需要了解某个元素是否进入了"视口"(viewport),即用户能不能看到它. 上图的绿色方块不断滚动,顶部会提示它的可见性. 传统的实现方法是,监听到scroll事件后,调用目标元素(绿色方块)的getBoundingClientRect()方法,得到它对应于视口左上角的坐标,再判断是否在视口之内.这种方法的缺点是,由于scroll事件密集发生,计算量很大,容易造成性能问题. 目前有一个新的 IntersectionObs…
判断是否在指定的可视区域内,先用最简单的方式,比如整个页面为可视区域 找到几个关键因素: sTop= $(window).scrollTop();  //滚动条距顶部的高度 clientHeight= document.documentElement.clientHeight; //可视区域的高度 pos =  = $("#pointinfo_" + markers[i].id).offset().top;    //指定的元素上方距顶部的高度 pos1  = $("#poi…
原文:[百度地图API]如何利用自己的数据制作社交地图?只显示可视区域内的标注 摘要:如果你自己的数据已经超过1万个,如何进行合理的显示?除了聚合marker外,还有一个办法.那就是,只显示可视区域内的标注. -------------------------------------------------------------------------------------------------------------- 成品图: 工具描述: 移动地图时(或改变地图级别时),只显示可视区域…
1.前言 开头不说点什么,总是有点不习惯.还是说点什么吧,关于百度地图,我用的次数还是比较多的,没办法,需求呀.好吧,在用百度地图的时候,确实有过很多需求,不过好在百度地图很强大,每次需求在探索后都能满足功能.以后将百度地图中所遇到的一些常见的功能整理一下,也方便一些童鞋参考.我的有一个项目中,就是要一开始将地图的可视区域定位在当前位置.其实很简单,网上一搜一大堆. 2.详情 说的再多,不如贴代码更来的直白.不过使用百度地图,一定要有ak.这个我想没有人不知道吧 1.引入js文件 <script…
$("#app").offset().top; offset().top表示 绝对偏移值,比如说有一个很长的页面,#app这个元素 在最底下,  $("#app").offset().top就表示 #app这个元素距离页面顶端的距离,它一般是固定的,不随窗口滚动而改变. $(window).scrollTop(); 窗口滚动的顶部偏移量,即此时页面的上边界到可视区域的上边界的偏移量,简单的可以理解成整个页面滚动了多少距离 $(window).height(): 浏览…