淡入淡出
淡入淡出: 不断改变元素的透明度(opacity)来实现的
- fadeIn(): 带动画的显示
- fadeOut(): 带动画隐藏
- fadeToggle(): 带动画切换显示/隐藏
fadeIn
参数
- speed:三种预定速度之一的字符串(“slow”,”normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)
- easing::(Optional) 用来指定切换效果,默认是”swing”,可用参数”linear”
- fn:在动画完成时执行的函数,每个元素执行一次。
示例代码
var $div1 = $('.div1')
$('#btn1').click(function () {
$div1.fadeOut(1000, function ()
alert('动画完成了!!!')
})
})
fadeOut
参数
speed:三种预定速度之一的字符串(“slow”,”normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)
easing:(Optional) 用来指定切换效果,默认是”swing”,可用参数”linear”
fn:在动画完成时执行的函数,每个元素执行一次。
示例代码
var $div1 = $('.div1')
$('#btn2').click(function () {
$div1.fadeIn()
})
fadeToggle
参数
speed:三种预定速度之一的字符串(“slow”,”normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)
easing:(Optional) 用来指定切换效果,默认是”swing”,可用参数”linear”
fn:在动画完成时执行的函数,每个元素执行一次。
示例代码
var $div1 = $('.div1')
$('#btn3').click(function () {
$div1.fadeToggle()
})
滑动
滑动动画: 不断改变元素的高度实现
- slideDown(): 带动画的展开
- slideUp(): 带动画的收缩
- slideToggle(): 带动画的切换展开/收缩
slideDown
参数
- speed:三种预定速度之一的字符串(“slow”,”normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)
- easing:(Optional) 用来指定切换效果,默认是”swing”,可用参数”linear”
- fn:在动画完成时执行的函数,每个元素执行一次。
示例代码
var $div1 = $('.div1')
// 1. 点击btn1, 向上滑动
$('#btn1').click(function () {
$div1.slideUp(2000)
})
slideUp
参数
- speed:三种预定速度之一的字符串(“slow”,”normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)
- easing:(Optional) 用来指定切换效果,默认是”swing”,可用参数”linear”
- fn:在动画完成时执行的函数,每个元素执行一次。
示例代码
var $div1 = $('.div1')
// 2. 点击btn2, 向下滑动
$('#btn2').click(function () {
$div1.slideDown()
})
slideToggle
参数
- speed:三种预定速度之一的字符串(“slow”,”normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)
- easing:(Optional) 用来指定切换效果,默认是”swing”,可用参数”linear”
- fn:在动画完成时执行的函数,每个元素执行一次。
示例代码
var $div1 = $('.div1')
$('#btn3').click(function () {
$div1.slideToggle()
})
显示与隐藏
显示隐藏,默认没有动画, 动画(opacity/height/width)
- show(): (不)带动画的显示
- hide(): (不)带动画的隐藏
- toggle(): (不)带动画的切换显示/隐藏
show
参数
- speed:三种预定速度之一的字符串(“slow”,”normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)
- easing:(Optional) 用来指定切换效果,默认是”swing”,可用参数”linear”
- fn:在动画完成时执行的函数,每个元素执行一次。
示例代码
立即显示
与缓慢显示
var $div1 = $('.div1')
//1. 点击btn1, 立即显示
$('#btn1').click(function () {
$div1.show()
})
//2. 点击btn2, 慢慢显示
$('#btn2').click(function () {
$div1.show(1000)
})
hide
参数
- speed:三种预定速度之一的字符串(“slow”,”normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)
- easing:(Optional) 用来指定切换效果,默认是”swing”,可用参数”linear”
- fn:在动画完成时执行的函数,每个元素执行一次。
示例代码
var $div1 = $('.div1')
$('#btn3').click(function () {
$div1.hide(1000)
})
toggle
参数
- speed:三种预定速度之一的字符串(“slow”,”normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)
- easing:(Optional) 用来指定切换效果,默认是”swing”,可用参数”linear”
- fn:在动画完成时执行的函数,每个元素执行一次。
示例代码
立即显示
与缓慢显示
var $div1 = $('.div1')
$('#btn4').click(function () {
$div1.toggle(1000)
})
自定义动画
jQuery动画本质 : 在指定时间内不断改变元素样式值来实现的
- animate(): 自定义动画效果的动画
- stop(): 停止动画
参数
params:一组包含作为动画属性和终值的样式属性和及其值的集合
speed:三种预定速度之一的字符串(“slow”,”normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)
easing:要使用的擦除效果的名称(需要插件支持).默认jQuery提供”linear” 和 “swing”.
fn:在动画完成时执行的函数,每个元素执行一次。
示例代码
<html>
<head>
<meta charset="UTF-8">
<title>自定义动画</title>
<style type="text/css">
* {
margin: 0px;
}
.div1 {
position: absolute;
width: 100px;
height: 100px;
top: 50px;
left: 300px;
background: red;
}
</style>
</head>
<body>
<button id="btn1">逐渐扩大</button>
<button id="btn2">移动到指定位置</button>
<button id="btn3">移动指定距离</button>
<button id="btn4">停止动画</button>
<div class="div1">
沉默不是代表我的错,我也没有错
</div>
<script src="js/jquery-1.10.1.js" type="text/javascript"></script>
<script type="text/javascript">
var $div1 = $('.div1')
/*
1. 逐渐扩大
宽先扩为200px, 高后扩为200px
*/
$('#btn1').click(function () {
$div1
.animate({
width: 200
}, 1000)
.animate({
height: 200
}, 1000)
})
/*
2. 移动到指定位置
移动到(100, 20)处
*/
$('#btn2').click(function () {
// 移动到(100, 20)处
$div1.animate({ // 向左上移动
left: 100, // 300
top: 20 // 50
}, 1000)
})
/*
3.移动指定的距离
移动距离为(-100, -20)
*/
$('#btn3').click(function () {
// 移动距离为(-100, -20)
$div1.animate({
left: '-=100',
top: '-=20'
}, 3000)
})
$('#btn4').click(function () {
$div1.stop()
})
</script>
</body>
</html>
案例练习
动画实现动态导航栏
|