/**
* 进入视口范围检测
*
* @param {HTMLElement} element
* @param {VoidFunction} onEnter
* @param {VoidFunction} onOut
* @param {number} [deltaTop=0]
* @param {number} [deltaBottom=0]
*/
function testClientRect(
element,
onEnter,
onOut,
deltaTop = 0,
deltaBottom = 0
) {
const rect = element.getBoundingClientRect()
// 坐标区间检测
if (
rect.y < window.innerHeight + deltaTop &&
rect.y > -rect.height + deltaBottom
) {
onEnter && onEnter()
} else {
onOut && onOut()
}
}