Edit in JSFiddle

var div = document.getElementsByTagName("div")[0],
    i = 0,
    movimiento = function(rapidez){
        var tiempo = (function(){
                switch (rapidez){
                    case "rapido": 
                        return 1; 
                        break;
                    case "normal":
                        return 5;
                        break;
                    case "lento": default:
                        return 10;
                        break;
                }
            })(),
            intervalo = setInterval(function(){
            i++;
            div.style.left = i + "px";
            if(i % 100 === 0) clearInterval(intervalo);
        }, tiempo);
    };

div.style.left = div.style.left || 0;

div.addEventListener("mouseover", function(){
    movimiento("lento");
}, false);
<div></div>
div{
    width: 22.5em;
    height: 22.5em;
    position: relative;
    background: url(http://oi54.tinypic.com/28k3pjo.jpg);
}