如何设置图像数组并单独循环浏览它们
How to set up an array of images and loop through them individually
对于更有经验的javascript的人来说,这可能是相当简单的任务。 我想有一个图像数组,然后循环浏览它们以显示每个图像,每个图像之间有一定的时间间隔。
- 将图像存储在数组中:var anArray = [image1, image2, image] (我可以通过简单地将图像的 src 放入这样的数组中来将图像放入数组中吗? 当我尝试时,它像对待一根绳子一样对待每一个。
- 创建一个循环来遍历数组中的每个图像并淡入淡出每个图像:for (var i = 0; i <= array.length; i++( 但我不希望它一次在所有图像中淡入淡出,我想要一次一个。
- 设置时间间隔: setInterval(functioin(( {}, 1000(; 这样每个图像在彼此之后显示 1 秒或多少秒。
我知道我可以使用插件,但我正在尝试学习 javascript,所以我想避免走捷径(当然除了在这里寻求帮助的快捷方式!
谢谢
var img;
for(length)
{
img[i]=new Image();
img[i].src="src";
}
用于将图像存储为数组
var count=0;
var timerid = setInterval(function()
{
//fade in image
count++;
if(count > length)clearInterval(timerId);
}, 1000);
更好的选择是将所有图像添加到 image.onload 上的 DOM 中,并带有 display:none 标签,然后使用循环逐个淡入图像,
另一种选择是对计数器使用闭包。计数器最优雅地实现为闭包。
// Wrapping the code in a self envoking function prevents polluting the global namespace.
(function() {
// The images array.
var images = ['image1.jpg', 'image2.jpg', 'image3.jpg'];
// The counter function using a closure.
var add = (function() {
// Setting the counter to the last image so it will start with the first image in the array.
var counter = images.length - 1;
return function() {
// When the last image is shown reset the counter else increment the counter.
if(counter === images.length - 1) {
counter = 0;
} else {
counter+=1;
}
return counter;
}
})();
// The function for changing the images.
setInterval(
function() {
console.log(images[add()]);
}
, 1000);
})();
相关文章:
- jQuery:循环一个具有不同超时值的循环
- 在循环中分配json值时,值被覆盖
- 如何在下面的ES6循环中获得前面的文本
- 为什么“;未定义的“;在JavaScript中结束循环
- Javascript循环不会自我更新
- 如何在foreach循环中对每个产品单独应用评级系统
- 类似系统:循环形成唯一id,得到这些id'使用jQuery/Javascript单独发布
- JavaScript 循环访问嵌套对象并显示在单独的行中
- 我在循环中遇到闭包问题,但我仍然使用单独的功能
- 如何设置图像数组并单独循环浏览它们
- 在单独的文件中考虑模型:如何处理循环/循环依赖关系
- 循环遍历数组并将单独的对象添加到新数组中-新数组中只有一个项
- 为同源CPU密集型iframe单独的事件循环
- 是Javascript中在单独线程中执行的事件循环
- 使用JQuery循环遍历数组值,并将它们显示在单独的行上
- 为什么这个Javascript For循环不显示单独的列表项?
- 循环,单独的元素块
- 将来自 FOR 循环的结果存储为一个数组(数组仅单独保存每个结果)
- 为什么我必须创建一个单独的变量来纠正这个循环?(基本Javascript)
- 为什么javascript代码在循环内工作,一旦代码被提取到一个单独的函数