Eslam A. Hefnawy
Eslam A. Hefnawy

Reputation: 37

Passing variables to JQuery animate

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

I'm a jquery beginner, and I'm trying to use animated sprites to make something similar to a slideshow. I've been trying to make this code work for hours but I'm not sure where the probelm is! I've checked the HTML and CSS and they seem fine. I think the problem lies in either passing a value to the animate method OR in string adding for the pospx variable. any ideas?

Upvotes: 3

Views: 10383

Answers (1)

adeneo
adeneo

Reputation: 318182

You're passing a string, an object would be more appropriate as that is what animate() accepts :

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

And background-position-x is not supported in all browsers.

Upvotes: 8

Related Questions