可以jQuery's.animate()方法可以影响变量,而不是CSS属性
Can jQuery's .animate() method be made to affect variables, rather than CSS properties?
我开始编写一些JS代码,以某种形式的"轻松"使变量值随着时间的推移而增加,达到目标值。
我意识到jquery已经在它的.animate()方法中做到了这一点。当然,该方法用于操作CSS属性,而不是通用变量。
我的问题是,有什么办法可以破解它,使该方法影响一个变量,而不是CSS属性吗?
是的,您可以设置变量的动画。在这里演示
$({ n: 0 }).animate({ n: 10}, {
duration: 1000,
step: function(now, fx) {
$("div").append(now + "<br />");
}
});
在本例中,我将在1秒内为n设置从0到10的动画。step
函数在动画期间调用,从中可以检索now
中的当前值。
就我个人而言,我使用这种技术以非线性的方式同时为几个css属性设置动画。
Animate通过修改JS对象中声明的属性值来运行。尽管animate
被设计为更改CSS标量值,但它也可以安全地用于任何泛型属性,只要value
是标量属性即可
实际上,您可以将CSS视为一组JS对象,其中的属性例如为top
、margin
等。
请注意,以下脚本执行相同的操作。他们将CSS left
从0更改为10
$("#test").css('left', 0).animate({ left: 10 }, 1000);
与相同
$({ 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);
}});
要查看他们的行动,请单击此处
相关文章:
- 为什么全局变量没有't似乎受到内部作用域(Javascript)的影响
- 将PHP变量发送到Javascript而不影响“;查看来源”;
- 为什么后递增/递减运算符对循环中的变量没有任何影响
- 影响其他变量的 Tumblr 喜欢按钮
- JavaScript 基础知识:变量受对不同变量执行的方法的影响
- js更改变量会影响到原始变量
- 影响循环内闭合函数中变量的闭包
- 如何在不影响AngularJS中原始变量的情况下操作视图值
- 在javascript变量中保存密码-安全性影响
- 在JavaScript中更改局部变量会影响具有不同名称的原始全局变量
- 我的 IF 条件如何影响全局变量使函数循环
- 使用局部变量(而不是重复的属性访问)是否会影响性能
- 可以jQuery's.animate()方法可以影响变量,而不是CSS属性
- 存储这样的全局变量有什么影响吗
- 将值存储在两个变量中并更改其中一个会影响Javascript中的两个变量
- 为什么cheerio $变量不影响其他会话?
- 在不影响另一个页面的情况下更改一个页面的变量
- 在全局作用域中不受其影响的函数中传递的全局变量
- 变量影响或 IF 语句 IE 问题
- QtScript中变量影响问题