Javascript движущиеся вещи - PullRequest
0 голосов
/ 13 марта 2012

Я пытаюсь переместить 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 голосов
/ 13 марта 2012

Атрибут left определяет расстояние от левой стороны.Вы увеличиваете левое значение, поэтому, естественно, это приведет к его перемещению слева направо.Вы можете сделать так, чтобы он двигался справа налево, уменьшая атрибут.В основном, просто установите интервал -2.Кроме того, вы должны изменить if (x dest_y), иначе он никогда не запустится.

Пройдите через него: вы начинаете с 310 пикселей с левой стороны и устанавливаете расстояниеВы путешествуете каждую итерацию до +2.Вы проверяете, является ли 312 меньше 300 (пункт назначения);это не.Если бы это было так, вы бы изменили значение x на 310 + 2 = 312;теперь вы были бы 312 пикселей с левой стороны.Затем вы проверяете, меньше ли x + distance (312), чем 300, прежде чем повторять цикл.

0 голосов
/ 13 марта 2012

Я думаю, что проблема связана с использованием document.getElementById("ufo").style.left, если вы двигаетесь справа налево, пытались ли вы изменить это значение на document.getElementById("ufo").style.right?

...