Javascript 移动的东西
我正试着从右向左移动一个img 但是,代码只能从左到右运行 这是一个从左到右的例子这一个有效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() {
<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),则将其设置为