如何在javascript中显示来自图像数组的先前图像

时间:2015-02-11 04:51:15

标签: javascript jquery html arrays loops

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

这里在上面的代码中,当我点击下一个按钮时,下一个图像从数组中显示..同样,如果我点击上一个按钮,应该显示当前图像中的上一个图像..我已尝试过,但前一个功能是不工作任何人都可以帮助我

1 个答案:

答案 0 :(得分:2)

在函数nextImage()中用以下代码替换循环:   for(var i = 0; i < imgArray.length-1;i++) 并在函数prevImage()中用以下代码替换循环:      for(var i = imgArray.length-1; i > 0; i--)