首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何一次执行一个循环的语句(jQuery)?

如何一次执行一个循环的语句(jQuery)?
EN

Stack Overflow用户
提问于 2014-01-24 09:52:54
回答 5查看 1.2K关注 0票数 1

我想做一个程序,如果我们点击一个图像,不同的图像不断出现,直到最后一个到达。因此,我使用jQuery在单击图像时调用一个函数,该函数通过更改"src“属性启动遍历所有图像的循环。所有图像都按顺序编号,然后循环使用这些数字打印出png图像。

以下是HTML代码:

代码语言:javascript
运行
复制
<img src="1.png" id="zwitch" height="50">

以下是jQuery代码:

代码语言:javascript
运行
复制
$(document).ready(function(){
    $("#zwitch").click(function(){
        for(var i = 0; i < 11; i++){
        $("#zwitch").attr("src", i + ".png");
        }
    });
});

文件夹"1.png,2.png,3.png,4.png.“中有10个图像,没有错误,我只是想知道是否有一种方法在一定时间内显示所有图像。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-01-24 10:41:00

尝试一下,它从1到10之间运行,每个图像之间有1000 to的延迟(1秒):

代码语言:javascript
运行
复制
$(document).ready(function() {
  $("#zwitch").click(function() {
    var i = 1, counter = setInterval(function() {
      $("#zwitch").attr("src", i + ".png");
      if(i++ == 10) clearInterval(counter);
    }, 1000);
  });
});
票数 2
EN

Stack Overflow用户

发布于 2014-01-24 10:02:46

你可以试试:

代码语言:javascript
运行
复制
$(document).ready(function(){
$("#zwitch").click(function(){
    for(var i = 0; i < 11; i++){
    setTimeout( $("#zwitch").attr("src", i + ".png"), 2000);
    }
});

});

此代码将显示2000毫秒的图像(2秒)。

现在你可以试试这个:

代码语言:javascript
运行
复制
$(document).ready(function(){
var counter = 0;
$("#zwitch").click(function(){

var id = setInterval(function(){
$("#zwitch").attr("src", counter + ".png");
counter++;
if ( counter > 10 )
    clearInterval( id );
}, 2000)
});
}
票数 0
EN

Stack Overflow用户

发布于 2014-01-24 10:05:18

如果你有10个不同的img标签,并相应地显示它们,可能会更好。第一个解决方案是使用setTimeOut函数,但它在for循环内部工作异常。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21329472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档