假设我有一些 div,并且我使用.animate({opacity:0},400, function(){});
为了它的孩子。
那么是否有可能获得动画完成的剩余时间?例如,剩余 200 毫秒,或者如果没有动画则为 0?
谢谢。
为了帮助您更好地了解如何使用step
功能
[正如发布者gdoron]
我使用以下命令创建了一个示例step获取剩余时间的函数:
(点击get state!
按钮停止动画并检索剩余时间!)
距离演示 http://jsbin.com/akebaz/2/edit
不透明的演示 http://jsbin.com/akebaz/3/edit
距离示例 jQuery:
var time = 4000;
var distance = 300;
var currentTime = 0;
$('#ball').animate({
left: distance
}, {
duration: time,
step: function (now, fx) {
currentTime = Math.round((now * time) / distance);
var data = fx.prop + ' ' + Math.round(now) + '; <b>' + currentTime + 'ms</b> ';
$('body').append('<p>' + data + '</p>');
},
easing: 'linear'
});
$('#getTime').click(function () {
$('#ball').stop();
$('body').prepend('<p>currentTime is:' + currentTime + ' ms; REMAINING: ' + (time - currentTime) + 'ms</p>');
});
- 你可以看到我是如何使用的
fx.prop
在 - 的里面animation step
得到 (left
) 当前动画的属性。
- 您可以看到如何:知道动画时间和距离(不透明度,无论如何......),我们可以通过一些简单的数学轻松检索“停止/暂停”状态(
(now*time)/distance
)并感谢返回的now
value.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)