2015-02-11 32 views
0
<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; 
     } 
    } 
} 

如何从图像阵列在javascript

这里在上面的代码中显示前一个图像,当我点击下一个按钮的下一个图像被从阵列..similarly显示如果我点击PREV键的从当前图像之前的形象应该是displayed..i都试过,但前面的功能无法正常工作任何人都可以帮助我

+0

for(var i = imgArray.length; i> 0; i--)应该是for(var i = imgArray.length-1; i> 0; i--) – 2015-02-11 05:04:23

+0

谢谢@RTPMatt它工作正常.. – karthik 2015-02-11 05:07:26

回答

2

在功能NEXTIMAGE()与更换循环: for(var i = 0; i < imgArray.length-1;i++) 和功能PREVIMAGE()取代循环: for(var i = imgArray.length-1; i > 0; i--)