zepto.js有一个动画元素的 API,它允许包含一个“完成”回调函数。 animate source
但是jquery type queue API似乎不被支持。
我想知道是否有使用 zepto 创建动画序列的内置方法,还是我应该从某个地方捏一个队列函数?
此外,“完成”回调不传递任何参数,因此很难知道您处于动画序列的哪个阶段 - 也许有解决方法?
最佳答案
我不确定你是否会觉得它有帮助,但我写了一个小插件来排队 zepto 动画:
$.fn.queueAnim = function (steps, callback) {
var $selector = this;
function iterator(step) {
step.push(iterate);
$selector.animate.apply($selector, step);
}
function iterate() {
if (!steps.length) return callback && callback();
var step = steps.shift();
iterator(step);
}
iterate();
}
示例用法:
$('div').queueAnim([
[ { 'rotate': '15deg' }, 200, 'ease-out' ],
[ { 'rotate': '-13deg' }, 300, 'ease-out' ],
[ { 'rotate': '10deg' }, 400, 'ease-out' ],
[ { 'rotate': '0deg' }, 500, 'ease-out' ]
], function () {
// all done
});
关于javascript - 使用 zepto,是否可以对动画进行排队?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8963170/