将变量传递给JQuery动画

时间:2013-02-04 18:29:37

标签: jquery jquery-animate sprite

$(document).ready(function(){
for(var i=1;i<5;i++){
    var pos = -411*i;
    var pospx = "{'background-position-x':'"+ pos.toString() + "px'}";
    $("#newsPix").delay(2000).animate(pospx, 1000);
    }
});

我是一个jquery初学者,我正在尝试使用动画精灵制作类似于幻灯片的东西。我一直试图使这段代码工作几个小时,但我不确定问题出在哪里!我检查了HTML和CSS,看起来很好。我认为问题在于将值传递给animate方法或者为pospx变量添加字符串。任何想法?

1 个答案:

答案 0 :(得分:8)

你传递一个字符串,一个对象会更合适,因为这是animate()接受的:

$(document).ready(function(){
    for(var i=1; i<5; i++){
        var pos   = -411*i,
            pospx = {'background-position-x' : pos};

        $("#newsPix").delay(2000).animate(pospx, 1000);
    }
});

并非所有浏览器都支持background-position-x