Javascript JQuery中循环的延迟
我有下面的脚本,这是工作,但是;我希望每个数组项在循环继续之前显示几秒钟。如何在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 = [];
<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
之间添加延迟。看看我的答案。啊,对不起,我的错,我没有测试出来。