The problem is that when you call parseInt() it returns the value rounded down. So you're actually not moving by half percent, but one percent. This way, the best solution is to increment in 1 on every step:
function moveLeft(obj){
obj.style.left = (parseInt(obj.style.left, 10) - 1) + "%";
}
function moveRight(obj){
obj.style.left = (parseInt(obj.style.left, 10) + 1) + "%";
}