JS动画以及封装

文章介绍了JavaScript实现动画的基本原理,通过事件和定时器结合改变样式属性来创建动画效果。同时,讲解了offset、client、scroll系列的属性,如offsetLeft、scrollTop等,用于计算元素的位置和尺寸,这些在动画和页面交互中十分关键。
摘要由CSDN通过智能技术生成

1.js的动画案例

(1)动画的原理

动画就是通过把人物的表情、动作、变化等分解后化成许多动作瞬间的画幅,再用摄影机连续拍摄成一系列画面,给视觉造成连续变化的图画  他的基本原理和电影、电视一样,都是视觉暂留原理

  医学证明人类具有“视觉暂留”的特性,人的眼镜看到一幅画或一个物体后,在0.34秒内不会消失。利用这一原理,在一幅画还米有消失前播放下一幅画,就会给人造成一种流畅的视觉变化效果

(2)js的动画如何实现

利用js的事件,配合定时器,或者改变他的样式属性,比如颜色,位置等来完成

2.js动画的封转

把你要用到的常用动画封装起来(学会封装的思路),函数的本质就是把具有特点功能的代码封装在一起,所以,我们可以将动画中可变化的量当作参数进行封装

3.offset、client、scroll系列

(1)offset系列

offsetLeft:获取元素距离最左边的距离

(1)如果父元素没有定位,距离浏览器最左侧的距离

(1)如果父元素有定位,距离父元素最左侧的距离

offsetTop:获取元素距离最上边的距离:

(1)如果父元素没有定位,距离浏览器最上侧的距离

(2)如果父元素有定位,距离父元素最上侧的距离

offsetWidth:获取元素的宽度,包括border及以内  不包括margin

offsetHeight:获取元素的高度,包括border及以内  不包括margin

offsetParent:获取元素的定位父级元素

如果元素fixed定位,得到null

元素没有dixed的情况下如果元素所有的父级元素都没定位  得到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。当盒子内部存在滚动条时,获得的高度和宽度不包括哦滚动条

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值