有没有办法在jquery'animate'序列上获取特定时间点的CSS值?

时间:2013-12-26 12:22:04

标签: jquery css jquery-animate

我正在寻找一种函数,它将接收以ms为单位的时间值和对包含“animate”队列的div的引用,并返回反映该div应该在传递的时间点上的内容的CSS值。

例如,如果我创建以下队列:

 $("#someDiv").queue(function (next) {
     $(this).animate({
         left: 600,
         top: 400,
         opacity: 0.5
     }, 300)
         .delay(200);
     next();
 });

现在,我需要一个接收'someDiv'和时间值的函数,并返回反映该特定时间值项的css属性:如果我传递时间值'150'那么函数应该返回类似于:{left:300,top:200,opacity:0.25}。当然我可以自己计算这些值,但我想知道是否有内置的方法来实现它,所有可以动画的CSS属性。

谢谢!

1 个答案:

答案 0 :(得分:0)

尝试这样的事情:

setInterval(function () {
    var $sidebar = $('.side-bar');
    if ($sidebar.is(':animated')) return;
    if (condition) {
        $sidebar.animate({
            backgroundColor: "#fff"
        }, 1000);
    } else {
        $sidebar.animate({
            backgroundColor: "#000"
        }, 1000);
    }
}, 20);

这是Demo:http://jsfiddle.net/yXWPD/