Javascript移动的东西

时间:2012-03-12 23:13:48

标签: javascript image move

我正试图从右向左移动img

但是代码只能从左到右工作

这是一个从左到右的例子,这个工作

 <script language="javascript">
 var x = 310; //Starting Location - left

 var dest_x = 300;  //Ending Location - left

 var interval = 2; //Move 10px every initialization

 function moveImage() {
//Keep on moving the image till the target is achieved
if(x<dest_x) x = x + interval; 


//Move the image to the new location

document.getElementById("ufo").style.left = x+'px';

if ((x+interval < dest_x)) {
    //Keep on calling this function every 100 microsecond 
    //  till the target location is reached
    window.setTimeout('moveImage()',10);
}

有人知道这个问题吗?真的很感激它!

2 个答案:

答案 0 :(得分:0)

我认为问题源于使用document.getElementById("ufo").style.left,如果您从右向左移动,您是否尝试将此值更改为document.getElementById("ufo").style.right

答案 1 :(得分:0)

左侧属性定义距左侧的距离。你正在增加左值,所以这自然会导致它从左向右移动。您可以通过减少属性使其从右向左移动。基本上,只需将间隔设置为-2。此外,您应该将if(x&lt; dest_x)更改为if(x&gt; dest_y),否则它将永远不会运行。

走过去: 您从左侧开始310像素,并将每次迭代的距离设置为+2。 您检查312是否小于300(您的目的地);它不是。 如果是,则将x值更改为310 + 2 = 312;你现在距左侧312像素。 然后在重复循环之前检查x + distance(312)是否小于300。