2012-03-12 107 views
0

我試圖從右側移到一個img左的Javascript搬東西

但是代碼只從左至右

這部作品是左到右一個這一個工程

爲例
<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

嘗試使間隔爲負值,或將其從x中不加入。你現在開始在310和每個循環加2,所以你不會下降到300 – Dampsquid 2012-03-12 23:21:17

回答

0

我想象這個問題源於使用document.getElementById("ufo").style.left如果你是從右向左移動你有沒有試過將這個值改爲document.getElementById("ufo").style.right

0

左側屬性定義了距左側的距離。您正在增加左側值,所以自然會導致它從左側移動到右側。您可以通過減少屬性從右向左移動。基本上,只需將間隔設置爲-2。另外,如果(x < dest_x)變爲if(x> dest_y),則應該更改,否則它將永遠不會運行。

穿過它: 從左側310像素開始,並將每次迭代的行程距離設置爲+2。 您檢查312是否小於300(您的目的地);不是這樣。 如果是,那麼你可以將x值更改爲310 + 2 = 312;你現在將從左側312像素。 然後在重複循環之前檢查x +距離(312)是否小於300。

+0

我試着你說,但它仍然沒有移動:( var x = 310; //開始位置 - 頂部 var dest_x = 300 ; //結束位置 - 頂部 變種間隔= -2; //移動2px的每個初始化 功能moveMenu(){ \t //保持在圖像移動,直到目標實現 \t如果(X> dest_y)X = x + interval; \t \t //將圖片移動到新位置 \t document.getElementById(「menu」)。style.top = x +'px'; \t如果((X +間隔 2012-03-12 23:49:38

+0

對不起,我遲了一點回復,在做出這個回覆後不得不去做點事情。如果((x + interval dest_x) – Treip 2012-03-13 03:58:21