Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 移动的东西_Javascript_Image_Move - Fatal编程技术网

Javascript 移动的东西

Javascript 移动的东西,javascript,image,move,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() {

我正试着从右向左移动一个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);
}

var x=310//起始位置-左侧
var dest_x=300//结束位置-左侧
var区间=2//每次初始化移动10px
函数moveImage(){
//继续移动图像直到达到目标

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

left属性定义了与左侧的距离。您正在增加left值,因此这自然会导致它从左向右移动。您可以通过减少属性使它从右向左移动。基本上,只需将interval设置为-2。此外,您应该将if(xdest\u y),否则它将永远不会运行

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

尝试将间隔设置为负值,或将其从x中去掉,不添加。您当前从310开始,每个循环添加2个,这样您就不会下降到300。我尝试了您所说的,但仍然没有移动:(var x=310;//开始位置-top var dest_x=300;//结束位置-top var interval=-2;//移动2px每个初始化函数moveMenu(){//如果(x>dest_y)x=x+interval,则继续移动图像直到达到目标;//将图像移动到新位置文档。getElementById(“menu”).style.top=x+'px';if((x+intervaldest_x),则将其设置为