有人可以向我解释CSS rotation cross browser with jquery.animate()中$({deg: 0})
的含义是什么吗?
e.g。
$({deg: 0}).animate({deg: angle}, {
duration: 2000,
step: function(now) {
// in the step-callback (that is fired each step of the animation),
// you can use the `now` paramter which contains the current
// animation-position (`0` up to `angle`)
$elem.css({
transform: 'rotate(' + now + 'deg)'
});
}
});
如果您能向我展示相关的jQuery官方文档,我将非常感激。
答案 0 :(得分:6)
它创建一个已断开连接的伪jQuery对象,其属性deg
设置为0
。
您之前可能已经看过:
var newDiv = $('<div>', {class: "hello"});
创建特定的元素类型并在其上设置初始属性。没有指定的元素类型也是一样。
注意:这种类型的对象无法插入DOM,但您可以将许多有用的jQuery方法应用于它。
因此,您可以使用该对象的信息来做这样的酷事:http://jsfiddle.net/TrueBlueAussie/cfmzau1w/
// Create a pseudo jQuery object (not connected to a DOM element)
var po = $({
deg: 0
});
// This is just the target object we want to change
$elem = $('#result');
// Use animate on the object, to make use of the step callback
po.animate({
deg: 360
}, {
duration: 5000,
step: function (now) {
// Take the computed value and use it on a real element!
$elem.css({
transform: 'rotate(' + now + 'deg)'
});
}
});
引用不明显,但在此页http://api.jquery.com/jquery/#jQuery-object上有一个jQuery(object)
方法,其中包含:
jQuery(对象)
对象类型:PlainObject
包装在jQuery对象中的普通对象。
在您的示例中,object
是您的匿名对象,因此该示例的 long-hand 伪代码类似于:
var anonymousObj = {
deg: 0
};
var wrappedInAjQueryObject = jQuery(anonymousObj);
wrappedInAjQueryObject.animate(targetPropertiesAndValues, someSettingsAndCallbacksInAnObject);