我写了一个小动画脚本,从左到右淡化一组条纹。在所有动画完成后,应该运行回调函数。
脚本在这里:
它工作正常,但我想对从右到左的动画做同样的事情:
正如你所看到的,回调函数在动画结束之前被触发:(我唯一改变的是delay()
。我在这里做错了什么?为什么“完成”在所有动画结束之前运行?
我写了一个小动画脚本,从左到右淡化一组条纹。在所有动画完成后,应该运行回调函数。
脚本在这里:
它工作正常,但我想对从右到左的动画做同样的事情:
正如你所看到的,回调函数在动画结束之前被触发:(我唯一改变的是delay()
。我在这里做错了什么?为什么“完成”在所有动画结束之前运行?
你快到了,你确实反转了方向,但忘记了回调也解释了反转。这样做对我有用:
complete: (i == 0) ? function(){alert('done');} : null
因为如果您尝试在 cols - 1 处检查完成,您正在计算另一个方向,所以您会太早得到它,所以您需要在 0 处得到它。试试这个:http: //jsfiddle.net/FTrhX/8/
我看了你的两个预览,我真的很感动!虽然我不明白为什么.stop()
第二个功能需要。
$('.col-' + i).delay(50 * (cols - i))
这种方式也很好用,还是我错过了什么?