Start spinning or Start reverse
var refreshInt;
// give your image or div id="spinner" and call spin(integer)
function spin(speed,direction) {
document.getElementById('start_spinning').innerHTML = 'Stop spinning';
if (refreshInt) {
clearInterval(refreshInt);
refreshInt= '';
document.getElementById('start_spinning').innerHTML = 'Start spinning';
return false;
}
var d = '';
if (direction) {d = '-';}
var elm = document.getElementById('spinner');
var type = getTransformProperty(elm);
if (type) {
var a = elm.style[type].replace(/[^\d]/g, ''); // grabs the last rotation angle
refreshInt = setInterval(
function () {
elm.style[type] = 'rotate(' + (d+a % 360) + 'deg)';
a = (a*1)+speed;
}, 1
);
}
}
function getTransformProperty(elm) {
var properties = ['transform','WebkitTransform','MozTransform','msTransform','OTransform'];
while (p = properties.shift()) {
if (typeof elm.style[p] !== 'undefined') {
return p;
}
}
return false;
}