动画animate(params , speed , callback)

animate(params , speed , callback)

1、params:包含样式属性值及值的映射,如{color:“red”,width:“400px”,height:“400px”}

2、speed:速度参数,可选

3、callback:在动画完成时执行的参数,可选

****需要注意的是,为了能让元素动起来,需要把元素的position设置成“relative”或“absolute”****

$(function() {
	$('div').bind("click", function() {
		$(this).animate({
			color : "red",
			width : "400px",
			height : "400px"
		}, 4000);
	})
})

方法名

说明

hide()和show()同时修改多个样式属性即高度height、宽度width和不透明度opacity
fadeIn()和fadeOut()只改变不透明度opacity
slideUp()和slideDown()只改变高度height
fadeTo()只改变不透明度opacity
toggle()用来代替hide()和show()
slideToggle()用来代替slideUp()和slideDown()
fadeToggle()用来代替fadeIn()和fadeOut()
animate()自定义动画

********************************1、动画的回调函数callback实现动画完成后要做的事情****************************

同一元素可以有多重动画效果,写成链式,如:要实现点击div时,让它向右移动的同时宽度增大到400px,并将不透明度变成100%,然后,再让它向下移动的同时高度增大到400px,这期间边框变成红色,代码如下:

$(function() {
	$('div').bind("click", function() {
		$(this).animate({
			left : "400px",
			width : "400px",
			opacity : "1"
		}, 4000).animate({
			top : "200px",
			height : "400px"
		}, 4000).css("border", "1px solid red");
	})
})

如果想实现在最后一步的时候,边框变成红色,需要把css写在最后一个动画的回调函数里,因为css不会加入到动画队列中区,而是被立即执行,解决方案如下:

$(function() {
	$('div').bind("click", function() {
		$(this).animate({
			left : "400px",
			width : "400px",
			opacity : "1"
		}, 4000).animate({
			top : "200px",
			height : "400px"
		}, 4000, function() {
			$(this).css("border", "1px solid red");
		})
	})
})

******************************************************2、停止元素的动画**************************************************

stop( [ clearQueue ] , [ gotoEnd ] );

1、clearQueue:可选,boolean类型,是否要清空未执行完的动画队列;

2、 gotoEnd:可选,boolean类型,是否直接将正在执行的动画跳转到末状态

实现停止当前动画并直接达到动画的末状态

$(function() {
	$("#panel").hover(function() {
		$(this).stop(true,true).animate({
			height : "150",
		}, 2000).animate({
			width : "300"
		}, 2000);
	}, function() {
		$(this).stop(true,true).animate({
			height : "22",
		}, 3000).animate({
			width : "300"
		}, 2000);
	});
})

******************************************************3、判断元素是否处于动画状态******************************

$(function() {
	if (!$("element").is(":animated")) {
		// 如果元素不处于动画状态,则为元素添加动画
		....................
	}
})

******************************************************4、其他方法**************************************************

$(function() {
	$("#panel h5.head").click(function() {
		$(this).next().toggle();		//点击主题,显示与隐藏
		$(this).next().slideToggle();	//点击主题,滑动显示与隐藏
		$(this).next().fadeTo(600, 0.2);//点击主题,渐退显示
		$(this).next().fadeToggle();	//点击主题,渐退显示与隐藏
	})
})
$(function() {
	$("#panel h5.head").click(function() {
		$(this).next().toggle(); // 点击主题,显示与隐藏,
	});
})
//toggle()相当于以下代码
$(function() {
	$("#panel h5.head").toggle(function() {
		$(this).next().hide();
	}, function() {
		$(this).next().show();
	});
})
$(function() {
	$("#panel h5.head").click(function() {
		$(this).next().slideToggle(); //点击主题,滑动显示与隐藏
	});
})
//slideToggle()相当于以下代码
$(function() {
	$("#panel h5.head").toggle(function() {
		$(this).next().slideUp();
	}, function() {
		$(this).next().slideDown();
	});
})
//fadeToggle()相当于以下代码
$(function() {
	$("#panel h5.head").click(function() {
		$(this).next().fadeToggle(); //点击主题,渐退显示与隐藏
	});
})

$(function() {
	$("#panel h5.head").toggle(function() {
		$(this).next().fadeIn();
	}, function() {
		$(this).next().fadeOut();
	});
})

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

佛佛ง

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值