基于d3的冒泡排序可视化
来源
https://github.com/xiaozfang/arithmetic-visualization/blob/master/web/view/bubbleSort.html
总结
想要实现动画效果,需要配合使用定时器和动画。
因为冒泡排序是双层循环排序,想要实现每次比较都可以动画化,则定时器和动画须在内层循环。因为循环的速度很快,但是想要看到比较效果,就不能太快,所以需要延迟循环。这里使用定时器“延迟循环”。
如果外层继续使用循环,过快的话会导致内层循环中的定时器执行混乱(内层循环的定时器所用的时间是固定的,时间到就会执行内部函数),所以使用interval定时器代替外层循环,不影响内层的循环且可以达到定时循环(延迟外层循环)的效果。
源码
Document