Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery中循环的延迟_Javascript_Jquery - Fatal编程技术网

Javascript JQuery中循环的延迟

Javascript JQuery中循环的延迟,javascript,jquery,Javascript,Jquery,我有下面的脚本,这是工作,但是;我希望每个数组项在循环继续之前显示几秒钟。如何在JQuery中实现这一点 <script> $(document).ready(function () { $("#x").click(function () { $.get('testfile.htm', function (data) { var i = 0; var mydata = [];

我有下面的脚本,这是工作,但是;我希望每个数组项在循环继续之前显示几秒钟。如何在JQuery中实现这一点

 <script>
 $(document).ready(function () {
     $("#x").click(function () {
         $.get('testfile.htm', function (data) {
             var i = 0;
             var mydata = [];

             $('#dc').html(data);

             $('#dc').find('div').each(function () {
                 mydata[i] = $(this).text()
                 i++;
             });

             for (id = 0; id < mydata.length; id++) {
                 $('#res').text(mydata[id]);
             }
         })
     });
 });
 </script>

$(文档).ready(函数(){
$(“#x”)。单击(函数(){
$.get('testfile.htm',函数(数据){
var i=0;
var mydata=[];
$('#dc').html(数据);
$('#dc')。查找('div')。每个(函数(){
mydata[i]=$(this.text())
i++;
});
对于(id=0;id
使用settimeout()

它不是您要求的jQuery,但它完成了任务。下面是我为一个项目创建的一些代码的示例

setTimeout(function () {
            Scroller.Animate("down")
        }, 10000);
10000等于10秒

所以你会想做一些类似的事情

        for(id = 0; id < mydata.length; id++)
        {
            setTimeout(function(){
                $('#res').text(mydata[id])
            }, 5000);
        }
for(id=0;id
使用settimeout()

它不是您要求的jQuery,但它完成了任务。下面是我为一个项目创建的一些代码的示例

setTimeout(function () {
            Scroller.Animate("down")
        }, 10000);
10000等于10秒

所以你会想做一些类似的事情

        for(id = 0; id < mydata.length; id++)
        {
            setTimeout(function(){
                $('#res').text(mydata[id])
            }, 5000);
        }
for(id=0;id
试试这个:

for (var id = 0; id < mydata.length; id++) {
    (function (id) {
        setTimeout(function () {
            $('#res').text(mydata[id]);
        }, 3000 * id); // Change 3000 to the delay you want, in ms
    }(id));
}
for(var id=0;id
基本上,每个
setTimeout
调用都会立即返回,因此您可以将每个延迟增加3000ms左右,以便每个
.text
调用之间至少间隔3000ms。

尝试以下方法:

for (var id = 0; id < mydata.length; id++) {
    (function (id) {
        setTimeout(function () {
            $('#res').text(mydata[id]);
        }, 3000 * id); // Change 3000 to the delay you want, in ms
    }(id));
}
for(var id=0;id

基本上,每个
setTimeout
调用都会立即返回,因此您可以将每个延迟增加3000ms(大约),以便每个
.text
调用之间至少间隔3000ms。

您可以使用
fx
队列,只需在每次更改之间设置延迟即可完成所有文本更改。这还允许您无缝地使用动画,例如
fadeOut
fadeIn

jQuery方法: 原件:
for(id=0;id
您可以使用
fx
队列,只需在每次更改之间设置一个延迟,即可完成所有文本更改。这还允许您无缝地使用动画,例如
fadeOut
fadeIn

jQuery方法: 原件:
for(id=0;id
您可以使用循环设置
窗口的加载。setTimeout
s,或者您不使用循环,而是使用
窗口。setTimeout
有点像递归。一些建议:在循环中声明
id
var id=0
,否则您将在所有用法中使用单个全局
id
变量实例。您可以使用循环设置
window.setTimeout
的加载,或者您不使用循环,而是使用
窗口。setTimeout
有点像递归。一些建议:在循环中声明
id
var id=0
,否则您将在所有用法中使用单个全局
id
变量实例。我添加了您提供的代码,但它没有做任何事情。我在它之前添加了一个警报,以查看循环是否正在运行,它是否正在运行。它不像setTimeout(),你能不能把你的代码做一个JSFIDLE?我可能可以通过这种方式提供更多帮助。我刚刚将警报添加到setTimeout()函数中,它只返回array@BenMillane此代码不起作用,因为您没有在每个
setTimeout
之间添加延迟。看看我的答案。啊,对不起,我的错,我没有测试出来。我添加了你提供给我的代码,但它没有做任何事情。我在它之前添加了一个警报,以查看循环是否正在运行,它是否正在运行。它不像setTimeout(),你能不能把你的代码做一个JSFIDLE?我可能可以通过这种方式提供更多帮助。我刚刚将警报添加到setTimeout()函数中,它只返回array@BenMillane此代码不起作用,因为您没有在每个
setTimeout
之间添加延迟。看看我的答案。啊,对不起,我的错,我没有测试出来。