When the Run button is pressed a JavaScript function is invoked which in turn calls another function, UpdateAnimation() at specified intervals (24 times per second). Update animation changes the value of the class attribute of the currently visible group from frameVis to frameInvis and the next group from frameInvis to frameVis, thereby cycling through all the frames in turn. When the maximum frame count is reached the animation recycles to frame 0. Pressing the Stop button halts the animation. It turned out to be very useful in understanding the code to be able to step through the animation frame by frame (button Step) and to set a starting frame for this (number input box and button Set Start Frame).

Frame: 0 Dur: 0