0%

cc-inviewport

cc-inviewport模块

这个小模块能判断HTMLElement是否在视窗内

关键代码

1
2
3
4
5
const mainOffsetTop = element.offsetTop //元素到顶部距离
const mainHeight = element.offsetHeight //元素高度
const winHeight = window.innerHeight //视窗大小
const winScrollTop = window.document.body.scrollTop + window.document.documentElement.scrollTop //已经卷过的距离
return !(winScrollTop > mainOffsetTop + mainHeight + offset || winScrollTop + offset < mainOffsetTop - winHeight) //返回是否在视窗内的布尔值

目前兼容移动端和主流浏览器,如果有改进欢迎MR

使用方法

Npm直接安装

1
2
3
4

const inviewport = require('cc-inviewport');

inviewport(HTMLElement);

或者使用build中的源代码

1
2

cc_inviewport(HTMLElement);

cc_inviewport挂载在Window下

源码地址:源码

喜欢给个Star,欢迎贡献改进