jQuery animate:背景位置不动画,立即显示图像

时间:2010-07-09 09:51:41

标签: jquery jquery-animate

这段代码有问题,或者我布置菜单的方式是因为动画背景位置不起作用。在我的CSS中,我只是简单地在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 个答案:

答案 0 :(得分:2)

jQuery本身无法正确处理,因为它需要修改两个值。

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

您应该将backgroundPosition: '0 0'替换为backgroundPosition: '0px 0px'

这应该可行,但它也应该只为x轴设置动画。