Javascript 关于为回路设置超时/延迟的问题

Javascript 关于为回路设置超时/延迟的问题,javascript,jquery,Javascript,Jquery,请告诉我如何设置以下代码的超时/延迟: $(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()); } }); $(函数(){ var alpha=数组(“a”、“b”、“c”、“

请告诉我如何设置以下代码的超时/延迟:

$(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());
}
});
$(函数(){
var alpha=数组(“a”、“b”、“c”、“d”、“e”、“f”、“g”、“h”、“i”、“j”、“k”、“l”、“m”、“z”);
对于(变量i=0;i


谢谢

您可以递归调用
window.setTimeout
或使用
window.setInterval

它们都接受将基于计时器(毫秒数)调用的回调方法

以下是一个例子:

window.setTimeout(function() {
    // ... do your work ...
    }, 1000 );
您可以找到。

这里有一种方法:

$.each(alpha, function (_, letter) {
    $("#box").delay(500).queue(function (next) {
        $(this).html(letter.toUpperCase());
        next();
    });
});

演示:

这里有一个工作代码供您使用,只需使用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更改为另一个值。。这是..

您可能会得到最好的服务

窗口。(func,delay[,param1,param2,…])


重复调用函数[…],每次调用该函数之间有固定的时间延迟。返回一个区间有效的

$(函数(){
//对字母大小写转换进行预处理
var alpha=“abcdefghijklmnopqrstuvxyz”。拆分(“”);
//缓存jQuery对象,这样我们就不会重新创建它26次
变量$box=$(“#box”);
//索引
var i=0;
//开始一个间隔并存储id
var intervalID=setInterval(函数(){
//设置元素文本
$box.text(alpha[i++]);
//在我们处理了26封信后停止间隔
i>25&&ClearIntervalid;
}, 100);
});


谢谢elclanrs,只是想知道是否有一种方法可以使用for循环完成此操作?!可以,但这比
for
循环要好。jQuery有您所需要的一切,所以您不必使用循环。@关于这个示例,我需要注意以下几点:1.:
each()
queue()
都用于引擎盖下的循环。2.:
delay()
使用
setTimeout()
。3:本例为
#box
创建52个jQuery对象。您应该考虑缓存jQuery对象以防止这种情况发生。