Almost every browser less than 100 years old supports animated GIFs. JMP 13 has support for building them. The attached JSL shows one way to capture the bitmaps from a graph's frame (no axes, no title) and store them in the animated GIF.
Every frame in the animation can have its own duration; generally all frames should have the same duration. The number of loops can be specified. As you can see, looping forever gets annoying. Loops can only play in one direction. If you see a GIF that appears to reverse, or bounce, it is because the one directional loop has frames that go forwards and backwards. The loop above is for a single sin wave (not the three periods it appears to be). Even so, it is a moderately large file: 19 frames in 130K bytes.
The following should be the same as the attachment. You can see how the loop in the last 1/3 of the script is changing the data in the data table to manipulate the graph builder output, then taking a picture. The middle 1/3 is setting up graph builder and probably did not need to be that complicated since the image was taken from inside the frame and ignores the axes and labels. The first bit is a set of parameters you can play with. The last line attempts to open the graph.
// This script requires Windows JMP 13, which can save animated gif files.
// Unfortunately the Mac version of JMP doesn't support this GIF feature yet.
nBars = 50; // how many animating bars?
xsize=800; // picture dimensions
nFrames = 19; // how many frames in loop
frameMS = 1000/24; // duration of frame in 1/1000 of a second (1000/24 == 24 FPS)
periods=3; // must be an integer for smooth animation loop
targetFile = "$desktop/DeleteMeAnimated.gif";
// make a data table template for the animation
dt = New Table( "animate", addrows(nBars), New Column( "ID", formula(row()) ), New Column( "Value", formula(sin(2*pi()*row()/nBars)) ) );
dt<<runformulas; dt:Value<<deleteformula; // remove the formula. non-missing initial data is needed for graph builder
// make a placeholder graph. NOTE: use interactive Graph Builder to make the graph, and
// use Save Script to make this JSL! Do minor edits later.
gb = dt<<Graph Builder(
Size( xsize, ysize ), Show Control Panel( 0 ), Show Legend( 0 ), Show Footer( 0 ), Lock Scales( 1 ),