如何显示 javascript 中图像数组中的上一张图像
How to display previous image from an array of images in javascript
<div id="images">
<img src="a.jpg" alt="" id="newImg">
</div>
<button onclick="prevImage('newImg')">Prev</button>
<button onclick="nextImage('newImg')">Next</button>
<script>
var imgArray = new Array();
imgArray[0] = new Image();
imgArray[0].src = 'a.jpg';
imgArray[1] = new Image();
imgArray[1].src = 'b.jpg';
function nextImage(element)
{
var img = document.getElementById(element);
for(var i = 0; i < imgArray.length;i++)
{
if(imgArray[i].src == img.src)
{
if(i === imgArray.length){
document.getElementById(element).src = imgArray[0].src;
break;
}
document.getElementById(element).src = imgArray[i+1].src;
break;
}
}
}
function prevImage(element)
{
var img = document.getElementById(element);
for(var i = imgArray.length; i > 0; i--)
{
if(imgArray[i].src == img.src)
{
if(i === imgArray.length-1){
document.getElementById(element).src = imgArray[0].src;
break;
}
document.getElementById(element).src = imgArray[i-1].src;
break;
}
}
}
在上面的代码中,当我单击下一个按钮时,会显示数组中的下一个图像。类似地,如果我单击上一个按钮,则应显示当前图像中的上一个图像。我已经尝试过,但是上一个功能不起作用任何人都可以帮助我
在函数 nextImage() 中将循环替换为:
for(var i = 0; i < imgArray.length-1;i++)
并在函数 prevImage() 中将循环替换为:
for(var i = imgArray.length-1; i > 0; i--)
<div id="images">
<img src="a.jpg" alt="" id="newImg">
</div>
<button onclick="prevImage('newImg')">Prev</button>
<button onclick="nextImage('newImg')">Next</button>
<script>
var imgArray = new Array();
imgArray[0] = new Image();
imgArray[0].src = 'a.jpg';
imgArray[1] = new Image();
imgArray[1].src = 'b.jpg';
function nextImage(element)
{
var img = document.getElementById(element);
for(var i = 0; i < imgArray.length;i++)
{
if(imgArray[i].src == img.src)
{
if(i === imgArray.length){
document.getElementById(element).src = imgArray[0].src;
break;
}
document.getElementById(element).src = imgArray[i+1].src;
break;
}
}
}
function prevImage(element)
{
var img = document.getElementById(element);
for(var i = imgArray.length; i > 0; i--)
{
if(imgArray[i].src == img.src)
{
if(i === imgArray.length-1){
document.getElementById(element).src = imgArray[0].src;
break;
}
document.getElementById(element).src = imgArray[i-1].src;
break;
}
}
}
在上面的代码中,当我单击下一个按钮时,会显示数组中的下一个图像。类似地,如果我单击上一个按钮,则应显示当前图像中的上一个图像。我已经尝试过,但是上一个功能不起作用任何人都可以帮助我
在函数 nextImage() 中将循环替换为:
for(var i = 0; i < imgArray.length-1;i++)
并在函数 prevImage() 中将循环替换为:
for(var i = imgArray.length-1; i > 0; i--)