简体   繁体   中英

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;
        }
    }
}

here in the above code when i click next button the next image is displayed from the array ..similarly if i click the prev button the previous image from the current image should be displayed..i have tried but the previous function is not working can anyone help me out

在函数nextImage()中将循环替换为: for(var i = 0; i < imgArray.length-1;i++) ,在函数prevImage()中将循环替换为: for(var i = imgArray.length-1; i > 0; i--)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM