我试图弄清楚如何为 JavaScript 中的算法制作动画。更一般地说,算法动画是如何用其他语言(即 Java)完成的?动画方面是否与算法逻辑分开?因此,例如,我有我的排序算法工作,我会有一个特殊的动画对象,它只是“观察”有问题的列表的状态是否有任何变化,或者是通知动画对象的算法逻辑中的片段修改列表,并调用必要的动画方法?
回到 JavaScript,在可能的情况下,我已经实现了一个有效的 Huffman 编码算法;我唯一想做的就是制作一个伴随动画来展示它实际在做什么。到目前为止,我的方法是使用d3库或 jquery 来制作动画,我唯一坚持的是如何从我的算法代码中实际调用任何动画例程。
我意识到在 JavaScript 中不可能在一行代码处暂停执行(或等待)以完成动画。
有关解决此问题的最佳方法的任何建议?
编辑: 例如,下面的代码构建了一个元素队列,我想为正在构建的队列设置动画:
var i,j;
var input = $('#input').val();
var input_array = input.split('');
for (i=0; i<input_array.length; i++){
var temp = new Node(input_array[i], 1);
for (j=i+1; j<input_array.length; j++) {
if (input_array[j] == input_array[i]) {
temp.frequency++;
input_array.splice(j, 1);
}
}
Queue.push(temp);
}