Javascript 为什么数组中的第一个图像不';你第一次就不打圈了吗?

Javascript 为什么数组中的第一个图像不';你第一次就不打圈了吗?,javascript,Javascript,我正在使用javascript制作一个简单的动画。当然,我可以使用CSS关键帧,但这对我所需要的不起作用,所以请不要使用CSS解决方案。我加入了一个状态div,只是为了让你明白我的意思,而不必看图片。在下面的中间 无论如何,这里是HTML <div id="zero-walking"><img src="#" id="zeroImage"></div> <div id="statusDiv"></div> 此块: i

我正在使用javascript制作一个简单的动画。当然,我可以使用CSS关键帧,但这对我所需要的不起作用,所以请不要使用CSS解决方案。我加入了一个状态div,只是为了让你明白我的意思,而不必看图片。在下面的中间

无论如何,这里是HTML

    <div id="zero-walking"><img src="#" id="zeroImage"></div>
    <div id="statusDiv"></div>
此块:

 index += 1;

 if (index == zeroArray.length) {
    index = 0;
 }
应该位于函数的最末尾

您的问题是
index+=1
在您执行
statusDiv.innerHTML=zeroArray[index]之前发生所以你第一次到达那里时是1(不是0)…

此块:

 index += 1;

 if (index == zeroArray.length) {
    index = 0;
 }
应该位于函数的最末尾

您的问题是
index+=1
在您执行
statusDiv.innerHTML=zeroArray[index]之前发生所以你第一次到达那里时是1(不是0)…

此块:

 index += 1;

 if (index == zeroArray.length) {
    index = 0;
 }
应该位于函数的最末尾

您的问题是
index+=1
在您执行
statusDiv.innerHTML=zeroArray[index]之前发生所以你第一次到达那里时是1(不是0)…

此块:

 index += 1;

 if (index == zeroArray.length) {
    index = 0;
 }
应该位于函数的最末尾


您的问题是
index+=1
在您执行
statusDiv.innerHTML=zeroArray[index]之前发生所以第一次到达时是1(不是0)…

尝试将索引赋值运算符移动到方法的末尾。实际上,您首先递增索引,然后进行工作,这意味着您跳过了0帧…

请尝试将索引赋值运算符移动到方法的末尾。实际上,您首先递增索引,然后进行工作,这意味着您跳过了0帧…

请尝试将索引赋值运算符移动到方法的末尾。实际上,您首先递增索引,然后进行工作,这意味着您跳过了0帧…

请尝试将索引赋值运算符移动到方法的末尾。实际上,您首先递增索引,然后进行工作,这意味着您跳过了0帧…

有时我会问自己为什么要帮忙。如果您只想在这些图像上循环,则如下所示:

function loopImages(elem, imgs, interval, loop){
  var i = 0, loopy = setInterval(function(){
    elem.src = imgs[i++];
    if(i === imgs.length){
      loop ? i = 0 : clearInterval(loopy);
    }
  }, interval);
}
loopImages(document.getElementById('zeroImage'), zeroArray, 700, true); // loops forever

有时我会问自己为什么要帮忙。如果您只想在这些图像上循环,则如下所示:

function loopImages(elem, imgs, interval, loop){
  var i = 0, loopy = setInterval(function(){
    elem.src = imgs[i++];
    if(i === imgs.length){
      loop ? i = 0 : clearInterval(loopy);
    }
  }, interval);
}
loopImages(document.getElementById('zeroImage'), zeroArray, 700, true); // loops forever

有时我会问自己为什么要帮忙。如果您只想在这些图像上循环,则如下所示:

function loopImages(elem, imgs, interval, loop){
  var i = 0, loopy = setInterval(function(){
    elem.src = imgs[i++];
    if(i === imgs.length){
      loop ? i = 0 : clearInterval(loopy);
    }
  }, interval);
}
loopImages(document.getElementById('zeroImage'), zeroArray, 700, true); // loops forever

有时我会问自己为什么要帮忙。如果您只想在这些图像上循环,则如下所示:

function loopImages(elem, imgs, interval, loop){
  var i = 0, loopy = setInterval(function(){
    elem.src = imgs[i++];
    if(i === imgs.length){
      loop ? i = 0 : clearInterval(loopy);
    }
  }, interval);
}
loopImages(document.getElementById('zeroImage'), zeroArray, 700, true); // loops forever

在(var i=0;i
中,您想做什么
index
是一个数字,而不是一个数组。我的坏消息是,当我测试某个东西时,我在他们的for语句中有for语句,忘记删除这篇帖子。在为(var I=0;I
设置
statusDiv
innerHtml
之后,你应该做
index+=1
,你想干什么
index
是一个数字,而不是一个数组。我的坏消息是,当我测试某个东西时,我在他们的for语句中有for语句,忘记删除这篇帖子。在为(var I=0;I
设置
statusDiv
innerHtml
之后,你应该做
index+=1
,你想干什么
index
是一个数字,而不是一个数组。我的坏消息是,当我测试某个东西时,我在他们的for语句中有for语句,忘记删除这篇帖子。在为(var I=0;I
设置
statusDiv
innerHtml
之后,你应该做
index+=1
,你想干什么
index
是一个数字,而不是一个数组。我的坏消息是,当我测试某个东西时,我在他们的for语句中有一个for语句,忘记删除这篇帖子你应该在设置
statusDiv
innerHtml
之后执行
,我正在测试其他内容,发布此内容时忘记删除。请使用
index++
而不是
+=1
。更简单。谢谢,效果很好,很抱歉刚才的for/loop,我正在测试其他东西,发布此内容时忘记删除。请使用
index++
而不是
+=1
。更简单。谢谢,效果很好,很抱歉刚才的for/loop,我正在测试其他东西,发布此内容时忘记删除。请使用
index++
而不是
+=1
。更简单。谢谢,效果很好,很抱歉刚才的for/loop,我正在测试其他东西,发布此内容时忘记删除。请使用
index++
而不是
+=1
。这更容易。