Похоже, id
и speed
не передаются в moveRight()
.Когда они в строке, как у вас, они не будут оценены.Посмотрите на это, кажется, делает свое дело.Я немного урезал его.
<div id="test" style="width: 50px; height: 50px; left: 0px; background-color: #000; position: absolute;"> </div>
<script type="text/javascript">
function moveRight(id, speed) {
var pp = document.getElementById(id);
var right = parseInt(pp.style.left) || 0;
right += speed; // move
pp.style.left = right + "px";
var move = setTimeout(function() {
moveRight(id, speed);
}, 50);
}
moveRight('test', 1);
</script>
Jsfiddle для игры.Вы можете настроить его по своему вкусу.