JSAPI 04.动画以及封装
作者:互联网
动画以及封装
1.定时器动画案例
(1)、案例1:协议按钮禁止
(2)、案例2:手机短信等待
2.js的动画案例
(1)、动画的原理
动画是通过把人物的表情、动作、变化等分解后画成许多动作瞬间的画幅,再用摄影机连续拍摄成一系列画面,给视觉造成连续变化的图画。它的基本原理与电影、电视一样,都是视觉暂留原理。
医学证明人类具有“视觉暂留”的特性,人的眼睛看到一幅画或一个物体后,在0.34秒内不会消失。利用这一原理,在一幅画还没有消失前播放下一幅画,就会给人造成一种流畅的视觉变化效果。
(2)、js的动画如何实现
利用js的事件,配合定时器,或者改变它的样式属性,比如颜色,位置等来完成
- 、案例1:物体渐变
利用opacity与定时器,注意小数相减的问题
- 、案例2:按钮控制div宽度的变化
定时器控制宽度的变化
- 、案例3:物体的移动
利用定位或者margin
3.js动画的封装
把你要用到的常用动画自己封装起来(学会封装的思路),函数的本质就是把具有特点功能的代码封装在一起,所以,我们可以将动画中可变化的量当做参数进行封装。
4.offset、client、scroll系列
(1)、offset系列
offsetLeft:获取元素距离最左边的距离:
(1)、如果父元素没有定位,距离浏览器最左侧的距离
(2)、如果父元素有定位,距离父元素最左侧的距离
offsetTop:获取元素距离最上边的距离:
(1)、如果父元素没有定位,距离浏览器最上侧的距离
(2)、如果父元素有定位,距离父元素最上侧的距离
offsetWidth:获取元素的宽度,包括border及以内,不包括margin
offsetHeight:获取元素的高度,包括border及以内,不包括margin
offsetParent:获取元素的定位父级元素:
如果元素fixed定位,得到null;
元素没有fixed情况下如果元素所有的父级元素都没定位,得到body;
元素没有fixed情况下,父级元素有定位,得到离他最近的有定位的父级元素
(2)、scroll系列
scrollTop和scrollLeft:获得的是内容卷曲出去的高度和宽度,当滚动条向下拉时,内容往上走,获得的就是上面跑出盒子范围的那部分高度。滚动条向右拉同理
scrollWidth和scrollHeight:获得元素的实际宽度和高度,在内容没有超出盒子时,获得的是盒子的内部高度和宽度。内容超出盒子时获得的是内容实际应有的高度和宽度。当盒子内部存在滚动条时,获得的高度和宽度不包括滚动条。
根据浏览器兼容性,scroll系列需要写出兼容代码:例如scrollTop:
var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop
(3)、client系列
clientTop和clientLeft:获得上边框和左边框的宽度。
clientWidth和clientHeight:获取可视范围的宽度高度,即边框内部的,不包括border,包括padding.当盒子内部存在滚动条时,获得的高度和宽度不包括滚动条
标签:动画,封装,04,JSAPI,元素,距离,滚动条,宽度 来源: https://blog.csdn.net/weixin_60806359/article/details/121939617