Javascript:在createElement之后移动新元素

时间:2014-03-31 16:50:30

标签: javascript css dom

我在我的横幅div中创建了一个僵尸img,但是在创建之后我无法让img向左移动。

createZombie函数在计时器上:

createZombieTimer = window.setInterval(createZombie, 1000);

这是在一个用身体加载的init()中。

function createZombie(){
    var imgElem = document.createElement("img");
    imgElem.src = "img/zombie_walk_right.gif";
    var newZom = document.getElementById('banner').appendChild(imgElem);
    newZom.style.height = "40px";
    newZom.style.width = "auto";
    newZom.style.display = "block";
newZom.style.marginLeft = "50px";
    var zomPos = parseInt(newZom.style.marginLeft);

    if (zomPos > 0) {
        newZom.style.marginLeft = (zomPos + 50) + "px";
    }
}

1 个答案:

答案 0 :(得分:0)

由于现在从评论中可以清楚地知道你想做什么,我会在这里作为答案发布。

您也可以使用普通的JavaScript进行此操作。您需要做的是使用setInterval()。这将每秒执行一次函数,您可以在其中更新元素的位置。

示例:

// Function to move the zombie by 50 pixels
function moveZombie()
{
    // Select the zombie element (will need additional logic to select all of them, just an example)
    zomElement = document.getElementById('zombie1');
    zomPos = parseInt(zomElement.style.marginLeft);
    zomElement.style.marginLeft = (zomPos + 50) + 'px';
}

// Call this function every second
setInterval(moveZombie(), 1000);