哪一个最好在 jquery 中连续重复函数 setInterval 或回调函数
which one is best to repeat functions continiously either setInterval or callback function in jquery?
实际上在我的项目中,我必须连续获得几个函数,为此我必须使用setinterval或回调.哪一个是重复函数的最佳方法,要么回调要么setInterval.lightAnim() 同样类型的函数我有超过8个.如果我使用setInterval会发生什么,如果使用回调,浏览器会发生什么.哪种方式最好。
1st way:Using setInterval
<script>
lightAnim();
setInterval(lightAnim,5000);
function lightAnim() {
$(".bulb1").fadeIn(1000, function() {
$(".bulb2").fadeIn(1000, function() {
$(".bulb3").fadeIn(1000, function() {
$(".bulb4").fadeIn(1000, function() {
$(".bulb5").fadeIn(1000, function() {
$(".bulb6").fadeIn(1000);
})
});
});
});
})
}
</script>
2nd way:On complete i am calling again
<script>
lightAnim();
function lightAnim() {
$(".bulb1").fadeIn(1000, function() {
$(".bulb2").fadeIn(1000, function() {
$(".bulb3").fadeIn(1000, function() {
$(".bulb4").fadeIn(1000, function() {
$(".bulb5").fadeIn(1000, function() {
$(".bulb6").fadeIn(1000);
lightAnim();
})
});
});
});
})
}
</script>
回调绝对是更好的选择。
无需手动对延迟求和,也不需要在更新代码时维护它。正如您的代码所示,它更容易出错:六个一秒延迟不是 5000 毫秒。您的第一个代码段将同时为第一个和第六个灯泡设置动画。
此外,当您对单个元素进行动画处理时,动画将被链接到jQuery的动画队列中。如果计时器偏离(并且已知setInterval
漂移的时间更长),那么很容易建立一个很长的队列(动画的计划速度比执行速度快),这对性能不利。
相关文章:
- 可以't获取setInterval函数以使用javascript中的this.function_name调用另一
- 使用setInterval()函数进行图像闪烁
- 在setInterval函数之前声明时未定义对象
- 使用setInterval调用原型函数时出现问题
- setInterval函数不会更改视图中的$scope
- “单独列搜索”上的Datatables setinterval函数
- 如何使用setInterval执行函数
- setInterval可更改函数的背景
- Javascript setInterval 函数来清除自身
- setInterval调用具有未定义参数的函数
- setinterval函数,使用变量的前一个/旧值
- 如何在 setinterval 函数中访问 javascript 数组值
- 如何在 window.setInterval 中每分钟运行一次 getJSON 函数
- 在 jquery 移动中离开页面时结束 SetInterval 函数
- 我将如何在jQuery中切换setInterval函数的状态
- 在setInterval函数内部使用.call()传递参数
- Javascript 函数 setInterval() 只工作一次
- 哪一个最好在 jquery 中连续重复函数 setInterval 或回调函数
- 使用函数setinterval javascript错误使用函数
- 在同步函数中调用异步函数(setinterval)后返回值