Crear animación de bucle con JavaScript

A veces necesitamos crear una animación de bucle, por supuesto, podríamos implementarla con otros complementos, también podríamos usar JavaScript original :

demo.html

...
<div class="animation">
...

</div>

<div class="start"></div> // start button
<div class="stop"></div> // end button
...

demo.js

var internal; // this is for stop animation manually

Jquery('.start').on('click', function() {
var end_status = {opacity:'0.5'}; // end status of one animation
internal
= setInterval(function() {
$
('.animation').animate(css_chison_robot, 200, function() {
if(end_status.opacity==='0.5') end_status.opacity = '1'; // after one animation end, back to start status
else end_status.opacity='0.5';
})
}, 200);
})

Jquery('.stop').on('click', function() {
clearInterval
(internal);
$
('.animation').animate({
opacity
:'1' // after manully stop, status should be reset
});
}