Jquery 替换30个图像,然后停止

Jquery 替换30个图像,然后停止,jquery,html,Jquery,Html,我有一段时间没有编写代码,所以我需要问一个愚蠢的问题: 我在一个网页上有一个带有以下src的图像:“images/santa/1.jpg” 每隔250毫秒,“1.jpg”应替换为“2.jpg”、“3.jpg”等,直到30秒,然后停止,然后应启动尚未定义的函数“谢谢”。我做错了什么 var theSanta = $('div#main img#theSanta'); //case 1: theSanta.attr('src', 'images/santa/1.jpg');

我有一段时间没有编写代码,所以我需要问一个愚蠢的问题:

我在一个网页上有一个带有以下src的图像:“images/santa/1.jpg”

每隔250毫秒,“1.jpg”应替换为“2.jpg”、“3.jpg”等,直到30秒,然后停止,然后应启动尚未定义的函数“谢谢”。我做错了什么

var theSanta = $('div#main img#theSanta');  

        //case 1: theSanta.attr('src', 'images/santa/1.jpg');

 setInterval(function() {

    for(var i=1; i<31; i++) {
        theSantaSrc = 'images/santa/' + i + '.jpg';
        theSanta.attr('src', theSantaSrc);
    }
}, 500);
var theSanta=$('div#main img#theSanta');
//案例1:theSanta.attr('src','images/santa/1.jpg');
setInterval(函数(){

for(var i=1;i删除for循环,并在每次间隔运行时简单地计数

var theSanta = $('div#main img#theSanta');  

var count = 1;
var counter = setInterval(function() {        
    theSantaSrc = 'images/santa/' + count + '.jpg';
    theSanta.attr('src', theSantaSrc);

    if (count >= 30) {
       counter.clearInterval();
       alert('Thanks!');
    }
    else count++;
}, 500);

删除for循环,并在每次间隔运行时简单地计数

var theSanta = $('div#main img#theSanta');  

var count = 1;
var counter = setInterval(function() {        
    theSantaSrc = 'images/santa/' + count + '.jpg';
    theSanta.attr('src', theSantaSrc);

    if (count >= 30) {
       counter.clearInterval();
       alert('Thanks!');
    }
    else count++;
}, 500);
我做错了什么

var theSanta = $('div#main img#theSanta');  

        //case 1: theSanta.attr('src', 'images/santa/1.jpg');

 setInterval(function() {

    for(var i=1; i<31; i++) {
        theSantaSrc = 'images/santa/' + i + '.jpg';
        theSanta.attr('src', theSantaSrc);
    }
}, 500);
让我们看看这段代码:

setInterval(function() {

    for(var i=1; i<31; i++) {
        theSantaSrc = 'images/santa/' + i + '.jpg';
        theSanta.attr('src', theSantaSrc);
    }
}, 500);
setInterval(函数(){
对于(var i=1;i
我做错了什么

var theSanta = $('div#main img#theSanta');  

        //case 1: theSanta.attr('src', 'images/santa/1.jpg');

 setInterval(function() {

    for(var i=1; i<31; i++) {
        theSantaSrc = 'images/santa/' + i + '.jpg';
        theSanta.attr('src', theSantaSrc);
    }
}, 500);
让我们看看这段代码:

setInterval(function() {

    for(var i=1; i<31; i++) {
        theSantaSrc = 'images/santa/' + i + '.jpg';
        theSanta.attr('src', theSantaSrc);
    }
}, 500);
setInterval(函数(){

对于(var i=1;iID是唯一的,因此,
theSanta
只包含一个图像,因为jQuery除了第一个ID元素之外找不到任何东西,因为应该没有了!每半秒,循环就完全运行一次。@kei击中了头部,你在几毫秒内循环所有图像,每30秒一次。您需要跟踪setInterval函数外部的图像计数器,并且内部没有循环。它确实会替换图像,但仅替换为最后一个“30.jpg”,中间没有任何步骤..ID是唯一的,因此,
theSanta
只包含一个图像,因为jQuery只能找到具有该ID的第一个元素,因为应该没有了!每半秒,循环就完全运行一次。@kei一针见血,你在几毫秒内一次遍历所有图像每30秒一次。你需要在setInterval函数外跟踪图像计数器,而不是在里面有一个循环。它确实会替换图像,但只替换为最后一个“30.jpg”,中间没有任何步骤。。另一集“Internet在工作中救了我的命”-谢谢!我刚刚用“count==30”替换了“count<30”这是一张可爱小猫的照片给你:哦!我做了编辑来切换接线员。很高兴能帮上忙,呵呵呵呵!比可爱小猫更好的圣诞礼物是给我几次机会并接受答案……尽管小猫很可爱=)另一集“互联网救了我的工作”-谢谢!我刚刚用“count==30”替换了“count<30”,这样就不会出现“31”。这里有一张可爱小猫的照片给你:哦!我做了编辑来切换操作符。很高兴能帮忙,呵呵呵呵!比可爱小猫更好的圣诞礼物是给我一些重复,并接受答案……尽管小猫很可爱=)