DHTML - 在限定时间内显示图片

时间:2012-06-20 20:37:08

标签: javascript dhtml

我尝试使用DHTML制作动画3-5秒(该动画从左到右开始......)。

任何想法怎么做?

//this one will set the the pictue on the right side of the screen
function setUpPicture() {
    subRunnerOBJ = new Object();
    subRunnerOBJ.topPos = 100;
    subRunnerOBJ.leftPos = 0;
    subRunnerOBJ.velX = 400;
    subRunnerOBJ.velY = 0;
    subRunnerOBJ.score = 0;
    hide1.style.visibility = "visible";
    hide1.style.left = subRunnerOBJ.leftPos + "px";
    hide1.style.top = subRunnerOBJ.topPos + "px";
    hide1.style.position = "absolute";
    //once we place the location of the sub , we will Call to new function that will move it
    startMovePicture();
}

function startMovePicture() {
    dt = 50; // in miliseconds
    h = setInterval("moveObj(subRunnerOBJ)", dt);
}

function moveObj(someObj) {
    counter = 0;
    while (counter < 30000) {
        subRunnerOBJ.leftPos = subRunnerOBJ.leftPos + subRunnerOBJ.velX * dt / 1000;
        subRunnerOBJ.topPos = subRunnerOBJ.topPos + subRunnerOBJ.velY * dt / 1000;
        hide1.style.left = subRunnerOBJ.leftPos + "px";
        hide1.style.top = subRunnerOBJ.topPos + "px";
        counter = counter + 50;
        if (counter == 3000) {
            stopRunning();
        }
    }
}

function stopRunning() {
    clearInterval(h);
    hide1.style.visibility = "hidden";
}

使用此功能我可以看到图片不到一秒钟...... 我怎么能在这里设定时间?

1 个答案:

答案 0 :(得分:0)

将毫秒值替换为等于所需秒数的数字,该值为5000秒,持续5秒。删除moveObj内的while循环,并通过添加clearInterval(h)hide1.style.visibility = "hidden";作为该块中的最后一个语句来替换它。