Jquery set interval()不逐个显示数字
你好,朋友,我试着用循环一对一地显示数字1到4,我的代码是Jquery set interval()不逐个显示数字,jquery,Jquery,你好,朋友,我试着用循环一对一地显示数字1到4,我的代码是 <script> $(document).ready(function(){ setInterval(function() { var i = 1; for(i=0; i<=5; i++) { var dis = $('#fade');
<script>
$(document).ready(function(){
setInterval(function() {
var i = 1;
for(i=0; i<=5; i++)
{
var dis = $('#fade');
dis.html(i);
i++;
}
}, 2000);
});
</script>
$(文档).ready(函数(){
setInterval(函数(){
var i=1;
对于(i=0;i删除第二个准备好的文档
——这是完全多余的。我认为您想要实现的计数器可以使用此代码完成(尽管我不确定我是否正确理解您):
$(文档).ready(函数(){
变量计数器=1,
最大值=5;
var timer=setInterval(函数(){
$('#fade').html(计数器);
计数器+=1;
//迭代后停止
如果(数量>最大值){
窗口清除间隔(计时器);
}
}, 2000);
});
如果您只想显示从1到4的数字,我建议使用setTimeout,方法如下:
var counter = 1;
$(function() {
incrementCounter();
});
function incrementCounter() {
$('#fade').html(counter);
counter++;
if (counter < 4) {
setTimeout(incrementCounter, 2000);
}
}
var计数器=1;
$(函数(){
递增计数器();
});
函数递增计数器(){
$('#fade').html(计数器);
计数器++;
如果(计数器<4){
设置超时(递增计数器,2000);
}
}
另一种选择是:
$(function() {
for (var i = 1; i <= 4; i++) {
setTimeout(function() {
$('#fade').html(counter);
}, (i - 1) * 2000);
}
});
$(函数(){
对于(var i=1;i
请看以下内容
$(function(){
setInterval(function() {
for(i=0; i<=5; i++)
{
$('#fade').append(i);
}
}, 2000);
})
$(函数(){
setInterval(函数(){
对于(i=0;i给你:
您不能一次调用所有的setInterval
函数,它们直接执行。
更新:使用setTimeout
$(文档).ready(函数(){
变量显示=功能(i){
$('#fade').html(i);
if(i<4){
setTimeout(函数(){display(++i)},1000);
}
};
显示器(1);
});
使用jasd的示例,我添加了另一行代码,使其重复
var counter = 1;
$(function() {
incrementCounter();
});
function incrementCounter() {
$('#fade').html(counter);
counter++;
if (counter <= 5) {
setTimeout(incrementCounter, 2000);
}else{
counter = 1;
setTimeout(incrementCounter, 2000);
}
}
var计数器=1;
$(函数(){
递增计数器();
});
函数递增计数器(){
$('#fade').html(计数器);
计数器++;
如果(计数器刚刚指出,如果将i=0更改为i=1,将在div:)中循环1-5,则需要1-5),这将同时执行多个间隔函数,并且其中任何一个都不会停止。我认为您至少必须将setInterval
更改为setTimeout
@Sirko您是对的,甚至没有注意到,复制粘贴的坏习惯!
$(function(){
setInterval(function() {
for(i=0; i<=5; i++)
{
$('#fade').append(i);
}
}, 2000);
})
$(document).ready(function() {
var display = function(i) {
$('#fade').html(i);
if (i < 4) {
setTimeout(function() {display(++i)}, 1000);
}
};
display(1);
});
var counter = 1;
$(function() {
incrementCounter();
});
function incrementCounter() {
$('#fade').html(counter);
counter++;
if (counter <= 5) {
setTimeout(incrementCounter, 2000);
}else{
counter = 1;
setTimeout(incrementCounter, 2000);
}
}