jquery动画可以通过编程链接吗
Can jquery animations be chained programmatically?
我有这个代码:
jQuery('#flash').animate({opacity: 0.35}, 200)
.animate({opacity: 0}, 200)
.animate({opacity: 0.35}, 200)
.animate({opacity: 0}, 200)
.animate({opacity: 0.35}, 200)
.animate({opacity: 0}, 600)
我还没有决定要改变它的状态多少次。有没有一种方法可以通过编程方式链接动画,而不是通过编辑动画链来添加/删除链接元素?
不,如果不编辑动画队列,就无法链接动画。如果你想链接一个变量,但次数有限,你可以很容易地使用一个循环:
var flash = $("#flash");
for (var i=0; i<n; i++)
flash.animate({opacity: 0.35}, 200).animate({opacity: 0}, 200);
如果你想要一个无休止的循环,或者一个在未来满足条件时停止的循环,你想在动画队列上挂起一个回调,重新启动函数:
var flash = $("#flash");
function anim() {
// if (condition)
flash.animate({opacity: 0.35}, 200).animate({opacity: 0}, 200, anim);
// call "recursively": ^^^^
}
anim();
如果我理解正确,你只需要一个FOR循环:
function animate_n_times(n) {
var flash = $('#flash');
for(var i=0;i<n;i++) {
flash.animate({opacity: 0.35}, 200)
.animate({opacity: 0}, 200);
}
}
然后调用类似:
animate_n_times(3);
如果你想要的是循环,你可以使用循环来链接动画。
var $flash = jQuery('#flash'), i;
for (i = 0; i < 10; i++) {
$flash = $flash.animate({opacity: 0.35}, 200)
.animate({opacity: 0}, 200);
}
有一个较短的替代方案,使用扩展jquery timing:
动画给定次数:
$('#flash').repeat().animate({opacity:0.35}, 200)
.animate({opacity:0}, 200).until(10);
作为无尽循环:
$('#flash').repeat().animate({opacity:0.35},200).animate({opacity:0},200,$);
有关详细信息,请参阅.erepeat()、.intile(count)和.animate(…,$).的API
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 如何使用jQuery自动打开页面上的所有链接
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- jquery动画可以通过编程链接吗
- 在单击href链接的同时下载文件
- 尽管链接成功并已成功下载,但未找到NPM模块
- 一点javascript元编程&可链接的设置器
- 通过添加/删除指向外部脚本的链接,以编程方式更新页面的源代码
- Javascript/jQuery:以编程方式跟随链接
- 以编程方式将 JavaScript 添加到具有相同 id 的动态生成的超链接中
- 是否可以构造一个链接,导航到它并以编程方式用C#打印响应?怎样
- 在javascript中,我如何以编程方式点击链接在情况下href="javascript: someemet
- 以编程方式设置vwashape超链接
- 如何在JointJs中以编程方式创建到端口的链接
- 以编程方式点击超级链接的不同方法
- ASP.. NET:如何(以编程方式)附加一个<标签,包含到.js的链接,到
- 如何在vb.net中使用javascript以编程方式单击链接
- undo-preventDefault()或以编程方式禁用链接集合的更好方法
- 与 react-router 的编程相对链接
- 如何使用office-js以编程方式向工作表中的单元格添加超链接