【问题标题】:Is there a way to get the CSS value of a specific time point on a jquery 'animate' sequence?有没有办法在 jquery 'animate' 序列上获取特定时间点的 CSS 值?
【发布时间】:2013-12-26 12:22:04
【问题描述】:

我正在寻找一种函数,它将接收以 ms 为单位的时间值和对持有“动画”队列的 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 属性。

谢谢!

【问题讨论】:

标签: jquery css jquery-animate


【解决方案1】:

试试这样的:

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);

这里是演示:http://jsfiddle.net/yXWPD/

【讨论】:

  • 对不起,我不明白这与我的问题有什么关系...我错过了什么吗?...
猜你喜欢
  • 2021-02-21
  • 1970-01-01
  • 2020-04-16
  • 2016-11-09
  • 2013-08-31
  • 2020-10-30
  • 1970-01-01
  • 2011-07-07
  • 1970-01-01
相关资源
最近更新 更多