jquery回调函数触发时间的有关问题
jquery回调函数触发时间的问题
要做一个功能,把一张图片展示一下,fadeIn、fadeOut
展示完成之后继续显示其他东西,fadeOut设置了回调函数,就是在淡出之后继续显示其他的
做好之后发现图片还没有消失,回调函数里面的命令就已经执行了
写个demo测试一下
确实如此,动画还没有执行完,就已经alert了,后来又换了声明方式直接function cal(){}
还是这样子,只能写成:
fadeOut(1000, function() { //XXX });
这样子了,不知道原因,留待考证
要做一个功能,把一张图片展示一下,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 });
这样子了,不知道原因,留待考证