我正试图从右向左移动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);
}
有人知道这个问题吗?真的很感激它!
答案 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。