Javascript幻灯片在一次迭代中不显示图像
Javascript slideshow shows no image for one iteration
幻灯片显示pic1.jpg到pic8.jpg,然后4秒没有图像,然后开始返回pic1.jpg。我想让它在pic8.jpg之后回到pic1.jpg。
下面是我的脚本:<script>
var pics = ["pic1.jpg", "pic2.jpg", "pic3.jpg", "pic4.jpg", "pic5.jpg", "pic6.jpg", "pic7.jpg", "pic8.jpg"];
var i = 1;
function changeImage() {
var image = document.getElementById('homeslideshow');
if (i < pics.length) {
image.src = pics[i]
i++;
}
else {
image.src = pics[i]
i = 0;
}
}
</script>
函数在html中调用:
<body onload="setInterval(function(){changeImage()}, 4000)">
,幻灯片显示:
<div id="section">
<img id="homeslideshow" src="pic1.jpg" alt="goofy" width="100%" height=auto>
</div>
我是一个全新的html/css/js,所以请很好!
将else
块替换为如下
else {
i = 0;
image.src = pics[i];
}
在您的代码中,当您在将i
的值设置为0之前设置image.src
时,实际上您正在使用无效的pics[8]
设置图像src。
此外,在if
块中image.src = pics[i]
之后缺少;
。
替换你的JS如下来解决你的8秒问题
<script>
var pics = ["pic1.jpg", "pic2.jpg", "pic3.jpg", "pic4.jpg", "pic5.jpg", "pic6.jpg", "pic7.jpg", "pic8.jpg"];
var i = 0;
function changeImage() {
var image = document.getElementById('homeslideshow');
if (i < pics.length-1) {
i++;
image.src = pics[i];
}
else {
i = 0;
image.src = pics[i];
}
}
</script>
您使用4000ms延迟。删除。setInterval(函数(){changeImage ()})
相关文章:
- 使用Ruby数组使用JS在视图中进行迭代和显示
- 自动完成搜索无法正常工作,请不要迭代$中的所有元素.每个ul-li都会及时显示响应
- jQuery:仅显示新的JSON数据,并使用自己的段落标签进行迭代
- 使用 Javascript 迭代以 HTML 显示多个图像
- AngularJS 10 $digest() 迭代在列表显示时达到
- 如何使用 D3.js 在带有按钮的一个区域中创建/显示具有相同数据的图表的多次迭代
- 希望在jQuery迭代中只显示/隐藏指定的元素
- ng重复仅显示第一迭代数据
- 在服务器端循环中显示每个迭代的确定/取消弹出窗口
- AngularJS过滤器根据迭代中的值显示DB中的另一个值
- 如何在点击函数javascript中显示当前循环迭代
- 谷歌地图显示未捕获的错误:达到10次$digest()迭代.流产!角的应用
- 是否有一种方法来迭代和显示json的键值对列表使用Handlebar.js
- 谷歌地图标记循环只显示第一次迭代
- 在angular2中,使用ngFor不会显示迭代名
- chrome为对象迭代器显示了什么?
- Javascript幻灯片在一次迭代中不显示图像
- 如何在Struts2迭代器中显示预选的复选框
- 为一个数组创建3个对象,然后使用迭代javascript显示数组
- Extjs -在缓冲存储中迭代显示记录的最佳方式