最近在写一个复杂的图片展示效果,用到了jQuery.delay().animate(callback),当响应用户事件是需要停止动画,并要阻止callback函数执行。本来以为调用stop函数就可以达到效果。结果经过反复的测试才发现:
1、在animate执行之前,即delay的过程中,调用stop函数是,delay停止,立即执行animate,并且callback能继续执行;
2、在animate执行过中,调用stop则可以停止animate,而且callback也不会执行。
如果需要保证无论任何时候animate必须停止,而且callback不执行,则可以连续调用两次stop函数。