Advanced 高级用法
1. Value Functions
属性值可通过传递一个函数来设置动画效果
JavaScript
// 使 $element 的透明度随机到一个值 的动画,每次执行后 元素透明度都不同
$element.velocity({opacity: function() { return Math.random() }
});
JavaScript
$element.velocity({translateX: function(i, total) {/* 生成 translateX' 的结束值 */return i * 10;}
});
2. Forcefeeding
通常,在动画执行前 动画引擎会先查询 DOM 以确定元素的初始值, Velocity 可以让用户自定义元素初始值 这样可以避免 DOM 查询。看下面示例:
JavaScript
$element.velocity({/* translateX 初始值永远为0 动画结束值为500px */translateX: [ 500, 0 ],/* opacity 初始值永远为0 动画结束值为1 缓动效果为"easeInSine" */opacity: [ 0, "easeInSine", 1 ]
});
JavaScript
$element/* 对于这个链式动画,在每次动画开始前 元素的 translateX 初始值还是0 */.velocity({ translateX: [ 500, 0 ] }).velocity({ translateX: 1000 });