【问题标题】:How to display previous image from an array of images in javascript如何在javascript中显示图像数组中的前一个图像
【发布时间】:2015-02-11 04:51:14
【问题描述】:
<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;
        }
    }
}

在上面的代码中,当我单击下一个按钮时,会从数组中显示下一个图像..类似地,如果我单击上一个按钮,则应该显示当前图像中的上一个图像..我已经尝试过,但上一个功能是不工作谁能帮帮我

【问题讨论】:

  • for(var i = imgArray.length; i > 0; i--) 应该是 for(var i = imgArray.length-1; i > 0; i--)
  • 感谢@RTPMatt,它运行良好..

标签: javascript jquery html arrays loops


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2014-01-06
    • 1970-01-01
    • 2021-12-25
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多