[英]How can I load multiple images in one array to be faded?
我有以下代码,它们假设要加载几张图像然后使其褪色。 但是,要在每次淡入淡出时加载所有图像,而是每次都加载相同图像。 有人有什么主意吗?
http://jsfiddle.net/7kacz43o/8/
var img, i,
imageCount = [1,2,3,4],
div = document.getElementById('foo');
console.log(imageCount.length);
for(i = 1; i <= imageCount.length; i++){
img = new Image();
img.onload = function() {
div.appendChild(img);
};
img.src = 'http://tdhdemo.com/frames/frame_' + i + '.jpg';
img.id = "top";
}
您可以在onload
重用img
,这意味着当for
运行下一个索引时, img
将被覆盖。 在onload
事件中,仅将最后一个img
附加到div(4次,但结果是一个图像标签)。
由于您在img
本身上附加了onload
函数,因此可以使用this
来引用图像:
img.onload = function() {
div.appendChild(this);
};
另一个建议:为什么不使用数组及其length
来驱动for
循环,为什么不直接使用count变量呢?
var imageCount = 4;
...
for (i = 1; i <= imageCount; i++) {
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.