如何在javascript中显示图像数组中的前一个图像 上 下一个 var imgArray=新数组(); imgaray[0]=新图像(); imgaray[0].src='a.jpg'; imgaray[1]=新图像(); imgaray[1].src='b.jpg'; 函数下一个时间段(元素) { var img=document.getElementById(元素); 对于(变量i=0;i0;i--) { if(imgaray[i].src==img.src) { 如果(i==imgaray.length-1){ document.getElementById(element).src=imgArray[0].src; 打破 } document.getElementById(element).src=imgArray[i-1].src; 打破 } } }

如何在javascript中显示图像数组中的前一个图像 上 下一个 var imgArray=新数组(); imgaray[0]=新图像(); imgaray[0].src='a.jpg'; imgaray[1]=新图像(); imgaray[1].src='b.jpg'; 函数下一个时间段(元素) { var img=document.getElementById(元素); 对于(变量i=0;i0;i--) { if(imgaray[i].src==img.src) { 如果(i==imgaray.length-1){ document.getElementById(element).src=imgArray[0].src; 打破 } document.getElementById(element).src=imgArray[i-1].src; 打破 } } },javascript,jquery,html,arrays,loops,Javascript,Jquery,Html,Arrays,Loops,在上面的代码中,当我单击“下一步”按钮时,将从数组中显示下一个图像。类似地,如果我单击“上一步”按钮,将显示当前图像中的上一个图像。我已经尝试了,但上一个函数不起作用。在函数nextImage()中,有人可以帮助我解决此问题吗 for(变量i=0;i0;i-)for(var i=imgArray.length;i>0;i-)应该是for(var i=imgArray.length-1;i>0;i-)谢谢@RTPMatt它工作得很好。。 <div id="images"> <

在上面的代码中,当我单击“下一步”按钮时,将从数组中显示下一个图像。类似地,如果我单击“上一步”按钮,将显示当前图像中的上一个图像。我已经尝试了,但上一个函数不起作用。在函数nextImage()中,有人可以帮助我解决此问题吗
for(变量i=0;i
在函数prevImage()中,将循环替换为:
for(var i=imgArray.length-1;i>0;i-)

for(var i=imgArray.length;i>0;i-)应该是for(var i=imgArray.length-1;i>0;i-)谢谢@RTPMatt它工作得很好。。
<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;
        }
    }
}