Javascript Can jQuery';是否使s.animate()方法影响变量,而不是CSS属性?
我开始编写一些JS代码,使变量值随着时间的推移而增加,达到目标值,并以某种形式“轻松地输入” 我意识到jquery已经在它的.animate()方法中实现了这一点。当然,该方法是用于操纵CSS属性,而不是一般变量Javascript Can jQuery';是否使s.animate()方法影响变量,而不是CSS属性?,javascript,jquery,Javascript,Jquery,我开始编写一些JS代码,使变量值随着时间的推移而增加,达到目标值,并以某种形式“轻松地输入” 我意识到jquery已经在它的.animate()方法中实现了这一点。当然,该方法是用于操纵CSS属性,而不是一般变量 我的问题是,有什么办法可以破解它,使该方法影响一个变量,而不是CSS属性吗?是的,您可以设置变量的动画 与 $({ left: 0 }).animate({ left: 10 }, {duration: 1000, step: function(now, fx) { $("#tes
我的问题是,有什么办法可以破解它,使该方法影响一个变量,而不是CSS属性吗?是的,您可以设置变量的动画 与
$({ left: 0 }).animate({ left: 10 }, {duration: 1000, step: function(now, fx) {
$("#test").css('left', now);
}});
或者,不使用now
参数
var obj = { left: 0 };
$(obj).animate({ left: 10 }, {duration: 1000, step: function() {
$("#test").css('left', obj.left);
}});
要想看到它们的作用您是否可以直接使用
setTimeout()
来轻松实现相同的效果?使用easeIn设置变量动画???那没有意义。你能用CSS属性作为你的变量吗?换句话说,不要初始化普通的javascript变量。取而代之的是,创建一个不显示的div或诸如此类的div,在代码需要访问变量的地方,让它访问div的css属性。@JohnPick-是的,我在考虑这个问题,但它似乎有点老套。@elclanrs-我从来没有说过“设置变量动画”。我说的是让animate()方法在一段时间内操纵一个变量,而不是css属性(这只是另一个数字)。请注意命名为某些css属性的属性,如缩放
,填充
,等等。jQuery尝试操纵css等属性,这显然在非DOM对象上失败。一个简单的解决方法是在特殊名称前面加一个“u”,这样就可以在81403处设置\u zoom
的动画,而不是zoom
。@81403这不是真的。如果在非DOM对象上运行.animate
,jQuery只会看到该对象,不会对其应用任何CSS。我正在用top
属性设置JS对象的动画,您可以看到它不会向下移动。@JoseRuiSantos您希望javascript对象如何向下移动?:)总之,我没有说所有的CSS属性,只是说了一些。当top
起作用时,zoom
不起作用,这应该更清楚地说明我的意思:@81403我的坏。是的,你说得对。谢谢你指出这个问题。
$({ left: 0 }).animate({ left: 10 }, {duration: 1000, step: function(now, fx) {
$("#test").css('left', now);
}});
var obj = { left: 0 };
$(obj).animate({ left: 10 }, {duration: 1000, step: function() {
$("#test").css('left', obj.left);
}});