在For循环上设置超时/延迟的问题
Issue On Setting Time Out/ Delay on For Loop
您能告诉我如何在以下代码中设置超时/延迟吗?
$(function() {
var alpha = Array("a","b","c","d","e","f","g","h","i","j","k","l","m","z");
for ( var i = 0; i < alpha.length; i++ ) {
$("#box").html(alpha[i].toUpperCase());
}
});
Demo正在这里运行
谢谢
方法如下:
$.each(alpha, function (_, letter) {
$("#box").delay(500).queue(function (next) {
$(this).html(letter.toUpperCase());
next();
});
});
演示:http://jsfiddle.net/chq22av6/1/
您可以递归地调用window.setTimeout
或使用window.setInterval
。
它们都接受一个回调方法,该方法将基于计时器(毫秒数)调用。
下面是一个例子:
window.setTimeout(function() {
// ... do your work ...
}, 1000 );
您可以在MDN上找到更多信息。
这是一个为您工作的代码,只需使用setTimeout
$(function() {
var alapha = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"];
$.each(alapha, function (index, letter) {
setTimeout(function(){ $("#box").html(letter.toUpperCase())}, index * 100);
});
});
您可以将100更改为其他值。这是DEMO.
您最好使用
window.setInterval(func, delay[, param1, param2, ...])
调用函数[…],每次调用该函数之间有固定的时间延迟。返回一个intervalID
。
$(function () {
// pre-process the letter case transform
var alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("");
// cache your jQuery object so we're not recreating it 26 times
var $box = $("#box");
// index
var i = 0;
// start an interval and store the id
var intervalID = setInterval(function () {
// set element text
$box.text(alpha[i++]);
// stop the interval after we've processed 26 letters
i > 25 && clearInterval(intervalID);
}, 100);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="box"></div>
参见:clearInterval(intervalID)
相关文章:
- jQuery通过步骤的自排队循环来解决延迟问题
- 我在向jquery脚本添加延迟时遇到问题
- 解决延迟问题无法按预期进行
- 鼠标输入事件上的jQuery延迟出现问题
- 顶级/下级菜单上的隐藏()延迟问题,但当鼠标再次进入时取消隐藏()
- j查询周期延迟问题
- Jquery .each 延迟问题
- jQuery如何解决<脚本延迟>问题
- 延迟加载或图像加载序列问题
- 解决所有延迟问题后执行某些操作
- 使用jQuery自定义JS Confirm Modals.延迟和基于按钮的返回值问题
- Websocket通信延迟问题
- Jquery延迟问题
- jQuery Carousel插件按钮延迟问题
- 返回确认延迟问题
- 向页面添加大量元素后出现的延迟问题
- HTML5画布javascript延迟问题
- Javascript setTimeout存在0延迟问题
- 使用鼓机的设置超时解决延迟问题
- touchStart 事件和查询命令状态延迟问题