jquery动画
jquery提供了三组基本动画,这些动画都是标准的、有规律的效果,jquery还提供了自定义动画的功能
隐藏/展示动画(参数为空,没有动画效果):本质就是改变元素的width,height,opacity
show(time,func) 展示动画
- time:元素展开的动画时间,单位毫秒,可以直接数字,也可以固定字符串形式:fast:快=200ms normal:正常=400ms slow:慢=600ms
- 运动曲线
- func: 回调函数[可选参数],动画执行完成后执行
hide() 隐藏动画
用法和show()一致,只是动画效果是逆向的
toggle()
动画切换,如果当前状态是展示,触发toggle()则隐藏,否则展示
隐藏展示 演示
1 | <style> |
1 | <button>显示</button> |
1 | <script src="jquery-1.12.4.js"></script> |
淡入/淡出动画(没有参数时默认是normal也就是400ms):本质就是改变元素透明度
1. fadeIn()
2. fadeOut()
3. fadeToggle()
4. **参数,用法和show()/hide()/toggle()一致可以一并记忆,只是动画效果不同**
上、下卷动画(没有参数时默认是normal也就是400ms):本质就是改变元素的height属性
- slideDown()
- slideUp()
- slideToggle()
- 参数,用法和show()/hide()/toggle()一致可以一并记忆,只是动画效果不同
自定义动画 animate()
1. 参数1:必填,给动画设置样式 **是个对象**
2. 参数2:指定动画时间,默认是normal
3. 参数3:指定动画效果 默认是swing ,常用的还有linear等等
4. 参数4:回调函数,动画完成后执行
1 | <style> |
1 | <button>执行动画</button> |
1 | <script src="jquery-1.12.4.js"></script> |
jquery动画队列
- jquery为了保证动画不会丢失,使用队列的形式,依次执行动画
- 所以只要你触发动画事件,就相当于向队列添加一个动画任务,直到执行完成
演示
1 | <style> |
1 | <div></div> |
1 | <script src="jquery-1.12.4.js"></script> |
stop()停止动画
- 参数一:是否清除被选元素所有加入队列的动画?true/false,默认false
- 参数二: 是否直接跳到最后的执行结果?true/false,默认false
- 如果参数stop(true,true) 第一参数是true动画队列会被清除,所以即使第二参数也是true,但因为动画队列被清除后没有了后续动画也就只会执行到当前动画的最终效果
演示
1 | <style> |
1 | <div class="animator"></div> |
1 | <script src="./jquery-1.12.4.js"></script> |