Чтобы преодолеть неопределенность того, как долго (и как далеко) должна выполняться анимация, вы можете сделать это с помощью анимации с одним циклом с «flyback-repeat». Это больше похоже на способ кодирования тикеров.
function bgScroll() {
$("#x").animate({
'backgroundPosition': '-2000px 0'
}, 4000, 'linear', function() {
$(this).css("backgroundPosition", '0 0');
setTimeout(bgScroll, 0);
});
};
bgScroll();
Вам потребуется использовать этот плагин jQuery , чтобы анимация bg работала в кросс-браузерном режиме.
Демо здесь .
Настройте мои 4000
миллисекунды, чтобы получить желаемую скорость (меньшее число = более быстрая анимация).
«линейный» очень важен, чтобы обеспечить как можно более плавный переход при обратной передаче. Я думаю, что jQuery по умолчанию, «колебание», даст странный эффект, но обязательно попробуйте.