所以我做了一个代码

function slide()
{
    var x=1;
    while (x<=512)
    {
        document.getElementById("slide").style.backgroundPosition = x+"px 0px";
        x++;
    }
}


JSFIDDLE

我想从backgroundPosition - 0过渡到backgroundPosition 512。上面的代码立即从0更改为512,我想使其像1 ,2、3 ...

我尝试将x++更改为setTimeout(function(){x++), 100),但是它什么也没做。

最佳答案

使用setTimeout()并调用函数:

function slide(x)
{
    if(x==undefined) var x = 1;
    if(x >= 512) return;
    document.getElementById("slide").style.backgroundPosition = x+"px 0px";
    x++;
    setTimeout(function() {
        // recall function and add other code if you want.
        slide(x);
    }, 100);
}
slide();

关于javascript - 设置backgroundPosition和setInterval,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34072364/

10-10 00:28