2014-10-02 5 views
0

Я хочу сделать прямоугольное перемещение, нажав на кнопку и остановив ее нажатием на ту же кнопку. Вот часть моего кода:Невозможно переместить объект с помощью функции setInterval

document.getElementById("startStop").addEventListener("click", changePlace); 

function changePlace() { 
nIntervMove = setInterval(movement, 100); 
}; 


var tmp1 = 0; 
function movement() { 
    var oElem = document.getElementById("colorRectangular"); 
    oElem.getPropertyValue = tmp1; 
    tmp1 += "10px"; 
}; 

function stopMove(){ 
    clearInterval(nIntervMove); 
}; 
+1

'console.log (tmp1)' и по крайней мере один из ваших проблем должно быть очевидно, , – Quentin

+0

'getPropertyValue()' является * функцией * объекта '.style' элемента. Вы используете его неправильно. Что * точно * вы пытаетесь? –

ответ

0

Довольно прямо вперед:

var makeMove = function(x, hx, t, complete) { 

    var target = document.getElementById('rect'), 
     dx = 0, 
     d = setInterval(function() { 
      target.style.left = dx + "px"; 
      dx += hx; 
      if(dx >= x) { 
       clearInterval(d); 
       complete(); 
      } 

     }, t); 
}; 

makeMove(100, 5, 500, function() { 
    alert('done'); 
}); 

JSFiddle: http://jsfiddle.net/8ay9cqmd/

+0

Спасибо за ваш ответ! – Sofiia

Смежные вопросы