У меня тут завалялся код, разберёшься:
function slide(obj, direction, a) {
clearInterval(window.z);
counter = 0;
z = setInterval(function () {
if (a ? parseInt(obj.style.marginTop) < 0 : parseInt(obj.style.marginTop) > -300) {
obj.style.marginTop = parseInt(obj.style.marginTop) + direction;
counter++;
} else {
clearInterval(z);
}
},
10);
}
var pad = document.getElementById('x');
pad.onmouseover = function () {
slide(this, 3, true);
}
pad.onmouseout = function () {
slide(this, -3, false);
}