监听也行,假设这个div的id是test,先获取$("#test").is("hidden")返回值,记录下来,然后写一个函数,不停地判断$("#test").is("hidden")是不是跟记录下来的那个不一样,是的话就执行某个操作,然后更新记录
还记得许多年前,我们为一个元素添加有一个动画class之后,你还在用settimeout来延迟下一个动作,这么做过时啦。哪怎么做呢。
不是添加了一个类么,哪动画结束以后来执行这个动作呗。
哪么动画有两种,还是要区别对待的。
1.animation
2.transition
-webkit-animation动画其实有三个事件:
开始事件 webkitAnimationStart
结束事件 webkitAnimationEnd
重复运动事件 webkitAnimationIteration
嗯 对 就是这么简单 后面的实际用例我会附上
待更新中。。。
这篇文章写出来以后,朋友反馈过来有兼容性问题。
iOS9一下和安卓4.4一下是不支持的。
因为现在大多数项目技术栈是vue,这里我就推荐使用vue的过渡钩子函数beforeLeave来解决这个问题,关于vue过渡常见的用法和解惑我会单独开一篇文章去写这个东西。
其他比较好的解决方案还是使用setTimeout去解决这个问题。
https://developer.mozilla.org/en-US/docs/Web/Events/transitionend
注意:每个启用TransitionCSS属性的分别对应独立的transitionend事件
css监听元素高度如下。1、页面渲染完成后(onReady函数里)去获取元素1在页面上距离顶部的高度fixedTop。
2、用监听页面滚动函数onPageScroll得到当前页面滚动高度,高度是页面在垂直防线已滚动的距离(单位px)。