Javascript-将图像向右移动

Javascript-将图像向右移动,javascript,image,animation,Javascript,Image,Animation,这是一个应该将图像缓慢向右移动的函数,它不起作用。。。我搞砸了什么 <script type="text/javascript"> var userWidth = window.screen.width; function moveRight(id, speed) { var pp = document.getElementById(id); var right = parseInt(pp.style.left); var tim = setTimeout("

这是一个应该将图像缓慢向右移动的函数,它不起作用。。。我搞砸了什么

<script type="text/javascript">
var userWidth = window.screen.width;
function moveRight(id, speed) {
    var pp = document.getElementById(id);
    var right = parseInt(pp.style.left);
    var tim = setTimeout("moveRight(id, speed)",50);
    right = right+speed;  // move
    if (right > window.screen.height / 2)
    {
        right=0;
        pp.style.left = right+"px";
    }
}
</script>

var userWidth=window.screen.width;
功能右移(id、速度){
var pp=document.getElementById(id);
var right=parseInt(pp.style.left);
var tim=设置超时(“移动右键(id,速度)”,50);
右=右+速度;//移动
如果(右>window.screen.height/2)
{
右=0;
pp.style.left=右+px;
}
}

看起来
id
speed
没有传递到
moveRight()
。当它们在字符串中时,它们不会被计算。看看这个,它似乎很管用。我把它剥掉一点

<div id="test" style="width: 50px; height: 50px; left: 0px; background-color: #000; position: absolute;">&nbsp;</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>

功能右移(id、速度){
var pp=document.getElementById(id);
var right=parseInt(pp.style.left)| 0;
右+=速度;//移动
pp.style.left=右+px;
var move=setTimeout(函数(){
右移动(id、速度);
}, 50);
}
移动权(“测试”,1);

玩。您可以根据自己的喜好进行调整。

看起来
id
speed
没有传递到
moveRight()
。当它们在字符串中时,它们不会被计算。看看这个,它似乎很管用。我把它剥掉一点

<div id="test" style="width: 50px; height: 50px; left: 0px; background-color: #000; position: absolute;">&nbsp;</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>

功能右移(id、速度){
var pp=document.getElementById(id);
var right=parseInt(pp.style.left)| 0;
右+=速度;//移动
pp.style.left=右+px;
var move=setTimeout(函数(){
右移动(id、速度);
}, 50);
}
移动权(“测试”,1);

玩。你可以根据自己的喜好调整它。

行为是什么。有什么用吗?你的javascript失败了吗?你检查过Javascript控制台了吗?问题的答案肯定会有帮助。看起来setTimeout正在一次又一次地调用函数,跳过实际的移动代码。图像是否有
位置:相对的
位置:绝对的
?如果它是静态的,那么设置top/left/right/bottom将不会有任何效果。另外,我看到了一个函数定义,但是这是在代码中调用的吗?行为是什么。有什么用吗?你的javascript失败了吗?你检查过Javascript控制台了吗?问题的答案肯定会有帮助。看起来setTimeout正在一次又一次地调用函数,跳过实际的移动代码。图像是否有
位置:相对的
位置:绝对的
?如果它是静态的,那么设置top/left/right/bottom不会有任何效果。另外,我看到了一个函数定义,但是这个函数在代码中被调用了吗?