effettivamente è un problema...
L'unica cosa che m viene da consigliarti è quella di non utilizzare "+=20" ma estrapolare il parametro css background-position formattarlo in modo da estrarre solo la coordinata che ti interessa mettere tutto in una variabile e sommare 20 alla variabile e poi al posto di "+=20" mettere semplicemente la tua variabile... calcolandola ogni volta all'interno del ciclo dovrebbe fare circa la stessa cosa che fa +=20...
codice:
for(x = 0; x < centinaia; x++)
{
var bpos = $("#box1").css("background-position");
var end = bpos.indexOf(" ")-2;
var x = parseFloat(bpos.substring(0, end))+20; // qui al posto di 20 va messo lo scartamento che ti serve.
$("#box1").animate({
"backgroundPosition" : x+"px 0px"}, // nn so se la sintassi sia questa oppure (xx, yy - veditela tu)
"slow", //animazione lenta
"linear");
};
PROVA, se va bene se non va... xD chiedo perdono per la mia inezia.
PS non sono così sicuro che pero animate funziona con backgroundPosition...