Проблема с этой строкой:
$("one").style.left+=10+'px';
Не означает "увеличить style.left на 10". Это эквивалентно «Добавить '10px' к текущему значению syle.left.
Это означает, что style.left постоянно сбрасывается в 10px.
попробуйте это:
<script type="text/javascript">
//Global variable to increment every function run
numberOfPixels = 10;
function domove()
{
$("one").style.left=numberOfPixels+'px';
numberOfPixels += 10;
setTimeout(domove,20);
}
</script>
Редактировать: отлично работает на этом JSFiddle
Оппс ... забыл сохранить последнюю ревизию, она работает в ЭТОЙ скрипке.
http://jsfiddle.net/CDyQr/1/
Другое редактирование: пользователь спросил в комментарии ниже, как остаться вне глобальной области видимости. Вот метод, использующий замыкания:
http://jsfiddle.net/CDyQr/2/
Для получения более подробной информации о сфере действия и способах манипулирования ею, вот очень подробный ответ переполнения стека:
Какова область видимости переменных в JavaScript?