概述
运动其实就是指定javascript 制作的动画,也就是使用定时器控制对应的dom的样式的变化,呈现一个运动的状态 (js制作的动画 其实就是不断地重绘回流,js制作的动画 它使用的cpu进行渲染的 ,渲染效率低 (css3的动画使用GPU渲染的,渲染效率更高 ,画质更好 ,效果更优))
运动三要素
当前值
目标值
步长(迭代量)
主要过程
- 获取当前的值,定义步长
- 使用定时器不断更改当前值(使用当前值 加上步长),使其到达目标值
- 到达目标值 ,清除对应的定时器
运动的分类
- 匀速运动 (步长不变)
- 缓冲运动 (步长不断变化)
- 链式运动 (执行完当前动画可以调用下一次动画(链式调用的行为))
匀速运动
主要是步长不变,控制其始终保持一个步长变化 示例(盒子移动)
getcomputedstyle(获取页面定位)
缓冲运动
步长不断变小,逐步到达目标位置的一个运动动画称为缓冲运动
示例
缓冲 div盒子
缓存盒子透明度
链式调用
在一次动画执行完里面可以开始执行下次一个动画。 动画是使用定时器完成的,它里面的代码是异步的。主要要解决的是回调函数来接对应的异步代码同步执行的问题。
轮播图
轮播图的视线形式 位置变化的轮播
1.准备一个显示内容的盒子(溢出隐藏),准备一个装内容的盒子(多个内容的 每个内容的大小就是其对应的显示盒子的大小)控制对应的装内容的盒子在显示内容的盒子内移动(每次移动的区间就是一个显示内容盒子的大小)
实现无缝主要是通过第一张图放在最后(当你从最后一张切换到添加的这个第一张时 将直接更改当前的位置
透明度切换的轮播
将所有的图片全部定位在一个位置(初始全部为透明 只有第一张不透明) 切换器透明度 (将上一个透明度为0 当前为1)
图片变化的轮播
主要切换对应的图片路径
带焦点的轮播图
第三方插件
swiper
swiper是一个用于制作轮播图的插件