jQuery backgroundPostion和animate不仅可以获得Y.

时间:2011-04-17 19:25:12

标签: javascript jquery

我有问题。我有这个3060像素宽的图像作为我的背景图像,当我按下一个菜单链接时,我想要滑动'向右或向左的背景,但是当我这样做时,我只能使用X.如果我使用backgroundPositionX,它就不会做任何事情。但是当我使用backgroundPosition时,我只能提供1个参数。我只想对X方做一些事情,而不是Y.

我现在的代码会自动将Y设置为50%,这是不需要的。

        function move(space) {
            image = 3060;
            bodyWidth = $('body').width();
            offset = 900 * space;
            if(image - offset < bodyWidth)
                offset = image - bodyWidth - 15;

            console.log(offset);
            console.log(bodyWidth);


            $('body').animate({
                backgroundPosition:  -offset


            }, 5000, function() {
                console.log("animate complete");
            });

            //$('body').css('backgroundPosition', '-'+offset+'px 0px');
        }

1 个答案:

答案 0 :(得分:0)

您需要同时放置x和y坐标才能使其正常工作。例: 假设你想在X上将背景位置从0px移动到500px。

$(somediv).animate({backgroundPosition: '500px 0px'}) 

假设背景原始位置为0px * 0px,这会将背景移动到X:500px和Y:0px。然后你可以像这样把它带回来:

.animate({backgroundPosition: '0px 0px'})