首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery动画backgroundPosition不能工作

问jQuery动画backgroundPosition不能工作
EN

Stack Overflow用户
提问于 2012-11-18 17:59:42
回答 1查看 1.7K关注 0票数 2

我试图动画的背景位置的一些div,然后是一个回调动画,做同样的。

我在这里错过了什么?

HTML:

代码语言:javascript
复制
<div>
    <div class='divimg'></div>
    <div class='divimg'></div>
    <div class='divimg'></div>
</div>
​

CSS:

代码语言:javascript
复制
.divimg {
    width:250px;
    height:250px;
    margin:20px;
    float:left;
    background-size: 500px 500px;
    background-position: top center;
    background-repeat: no repeat;
    background-image: url(http://lorempixel.com/186/116/nature/1);
}​

JavaScript:

代码语言:javascript
复制
$(function() { 
    function animateGrid() {  
        $('.divimg').animate(
            {backgroundPosition:"bottom center"}, 
            500, function() { 
                $('.divimg').animate(
                    {backgroundPosition:"top center"}, 
                500)
            }
        );   
    }
    animateGrid(); 
})​

http://jsfiddle.net/jc6212/WPF6H/2/

EN

回答 1

Stack Overflow用户

发布于 2012-11-18 18:18:50

来自文档

所有动画属性都应动画为单个数值,但如下所述除外;不完全支持简写CSS属性(例如字体、背景、边框)。

要像你所做的那样使backgroundPositionY动画化,在Chrome中你可以简单地动画所述的属性。由于火狐不支持backgroundPositionY,所以您可以为不支持CSS钩的浏览器应用CSS钩:

代码语言:javascript
复制
if (!('backgroundPositionY' in document.createElement('div').style)) {
    $.cssHooks.backgroundPositionY = {
        get: function(elem, computed, extra) {
            return $.css(elem, 'backgroundPosition').split(' ')[1];
        },
        set: function(elem, value) {
            elem.style.backgroundPosition = $.css(elem, 'backgroundPosition').split(' ')[0] + ' ' + value;
        }
    };
}


$(function() {

    function animateGrid() {
        $('.divimg').animate({
            backgroundPositionY: 250
        }, 500, function() {
            $('.divimg').animate({
                backgroundPositionY: 0
            }, 500);
        });
    }

    animateGrid();
});

在Chrome,FF,IE9中进行测试。应该能在所有浏览器中工作。

http://jsfiddle.net/WPF6H/30/

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13442897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档