`
q420309528
  • 浏览: 6329 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

jquery回调函数触发时间的问题

阅读更多
要做一个功能,把一张图片展示一下,fadeIn、fadeOut
展示完成之后继续显示其他东西,fadeOut设置了回调函数,就是在淡出之后继续显示其他的

做好之后发现图片还没有消失,回调函数里面的命令就已经执行了
写个demo测试一下
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
	#d { position : absolute; left : 100px; top : 100px; 
		width : 50px; height : 50px; background-color : #EEE; 
		border : 1px solid #000; }
</style>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="grayscale.js"></script>
<script type="text/javascript">
$(function() {
	$('#btn').click(function() {
		$('#d').animate({
			height : '+=200px',
			width : '+=200px'
		}, 5000, cal());
	});

	var cal = function() {
		alert('sss');
	};
});
</script>
</head>
<body>
<div id="d"></div>
<input type="button" value="animate" id="btn" />
</body>
</html>


确实如此,动画还没有执行完,就已经alert了,后来又换了声明方式直接function cal(){}
还是这样子,只能写成:
fadeOut(1000, function() { //XXX });
这样子了,不知道原因,留待考证
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics