可以't使用setInterval函数移动对象

Can't move an object using setInterval function

本文关键字:setInterval 函数 移动 对象 使用 可以      更新时间:2023-09-26

我想通过点击一个按钮来进行矩形移动,然后停止点击同一个按钮。这是我代码的一部分:

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);
 };

非常直接:

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/