现在我通过将多个图像与setInterval(showNextSlide, 100);
串在一起来制作动画图像,效果非常好。
我遇到的唯一问题是动态地将值添加到var slides = [src, ]
,while循环只会加载最终图像。
同样保存图像的方式是增量移动到下一个零,所以01009
转换为01010
每当我使用我的循环时它将转换为010010
注意额外的零端。
的Javascript
window.onload = function() {
var img = 0
while (img < 15) {
img++;
}
var src = 'assets/images/earth/Sequence%0100' + img + '.jpg.';
var slides = [src, ],
index = 0,
timer = 0;
// Show the first slide
showNextSlide();
// Show "next" slide every five seconds
timer = setInterval(showNextSlide, 100);
// The function we call to show the "next" slide
function showNextSlide() {
if (index >= slides.length) {
index = 0;
}
document.getElementById('earth').src = slides[index++];
}
};
答案 0 :(得分:1)
试试这个:它将继续根据索引值改变地球的图像src。
根据JEES评论进行更新。
<script>
window.onload = function() {
var i = 0
var slides = [];
while (i < 200) {
if(i <= 9){ img= '0100' + i++; }
else if(i <= 99){ img= '010' + i++; }
else{ img= '01' + i++; }
var src = 'assets/images/earth/Sequence%' + img + '.jpg';
slides.push(src);
}
console.log(slides);
index = 0,
timer = 0;
// Show the first slide
showNextSlide();
// Show "next" slide every five seconds
timer = setInterval(showNextSlide, 100);
// The function we call to show the "next" slide
function showNextSlide() {
if (index >= slides.length) {
index = 0;
}
document.getElementById('earth').src = slides[index++];
}
};
</script>
<img src="" id="earth">
答案 1 :(得分:1)
请尝试一下:
var img = 0;
var slides = new Array();
while (img < 5) {
img++;
var src = 'assets/images/earth/Sequence%0100' + img + '.jpg';
slides.push(src);
}
答案 2 :(得分:0)
这是答案的一部分,它将在img
值为9
或99
时修复,因为他有200张图片,如果图片编号为&gt; 1000 img
值999
时他需要另一个..请告诉我是否应删除此答案:
<强>更新:强>
var img = 0;
while(img < 200) {
if (img < 10) { imgURL = '0100' + img; }
else if (img < 100) { imgURL = '010' + img;}
else { imgURL = '01' + img; }
slides.push('assets/images/earth/Sequence%' + imgURL + '.jpg');
img++;
}
检查此Fiddle以查看其实际效果。