jQuery animate: фоновая позиция не анимируется, мгновенно показывает изображение - PullRequest
0 голосов
/ 09 июля 2010

Что-то не так с этим кодом или с тем, как я выложил свое меню, потому что анимация положения фона не будет работать.В моем CSS я просто назначил каждому a в div.nav фон с позиционированием 0 0, а также display: block и определенную ширину + высоту.Что происходит, это переключение изображения выполняется мгновенно вместо прокрутки (-95px при позиционировании фона).Чего мне не хватает?

$('div.nav a').mouseover(function () {
    if (!$(this).is('.active')) {
        $(this).stop().animate({
            backgroundPosition: '0 0'
        }, {
            duration: 500
        });
    }
});

$('div.nav a').mouseout(function () {
    if (!$(this).is('.active')) {
        $(this).stop().animate({
            backgroundPosition: '0 0'
        }, {
            duration: 500
        });
    }
});

1 Ответ

2 голосов
/ 09 июля 2010

jQuery изначально не может обработать это должным образом, потому что для его изменения требуется два значения.

http://snook.ca/archives/javascript/jquery-bg-image-animations/

Вы должны заменить backgroundPosition: '0 0' на backgroundPosition: '0px 0px'

Это должно сработать, но это также должно просто оживить ось X.

...