Spin things with Javascript!

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;
}

← Return to projects