我想自動將「漸變」CSS樣式應用於一系列<div>
元素;即在從透明到完全不透明的一系列元素上設置opaque
規則。使用jQuery.animate()插入CSS規則
jQuery.animate()
似乎在像我需要的插值CSS樣式方面做得很好。但是,顯然,animate()
隨着時間的推移而轉變,而我只是想計算一些個別的「框架」。
jQuery代碼中的某處必須隱藏計算這些動畫功能的各個步驟的代碼。我期待遇到類似interpolate(objectWithOldCss, objectWithNewCss, step)
的東西,但似乎無法找到類似的東西。
有什麼方法可以訪問插入CSS規則並直接使用它的jQuery代碼嗎?
編輯:多虧了詹姆斯·蒙塔涅的答案,我結束了以下jQuery.interpolate()
方法:
$.fn.interpolate = function(name, value, blend, easing) {
var elem = this[0];
if (jQuery.isArray(name)) {
$.Tween(elem, {duration: 1}, name, value, easing || "linear").run(blend);
} else {
easing = blend;
blend = value;
$.each(name, function(n, v) {
$.Tween(elem, {duration: 1}, n, v, easing || "linear").run(blend);
});
}
}
它證明了這裏:http://jsfiddle.net/mwvdlee/yfcg5/
https://github.com/jquery/jquery/blob/1.9-stable/src/effects.js特別是,看一下'Tween'的'run'方法。 –