Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我需要添加一个图像数组,可以使用按钮图像或使用JavaScript的数字输入进行更改_Javascript_Arrays_Image - Fatal编程技术网

我需要添加一个图像数组,可以使用按钮图像或使用JavaScript的数字输入进行更改

我需要添加一个图像数组,可以使用按钮图像或使用JavaScript的数字输入进行更改,javascript,arrays,image,Javascript,Arrays,Image,我有一系列的图像被分配到数字1-200。我希望有一个页面,从加载图像1开始,如果按下右箭头按钮,它将进入第2页,如果按下左箭头按钮,它将返回第1页,依此类推。或者,用户可以在文本框中键入1-200的数字,并将用户带到该页面。我可以用HTML做第一部分,但这需要大量的页面重新加载,这是一个麻烦,对网站不好,而且我无法让这个框工作。我以前没有使用JS的经验,所以我不知道从哪里开始。我也没能在谷歌上找到任何东西。 我应该做些什么来实现这一点?另外,您能否提供一段代码来实现这一点?很明显,我必须自己输入

我有一系列的图像被分配到数字1-200。我希望有一个页面,从加载图像1开始,如果按下右箭头按钮,它将进入第2页,如果按下左箭头按钮,它将返回第1页,依此类推。或者,用户可以在文本框中键入1-200的数字,并将用户带到该页面。我可以用HTML做第一部分,但这需要大量的页面重新加载,这是一个麻烦,对网站不好,而且我无法让这个框工作。我以前没有使用JS的经验,所以我不知道从哪里开始。我也没能在谷歌上找到任何东西。 我应该做些什么来实现这一点?另外,您能否提供一段代码来实现这一点?很明显,我必须自己输入整个数组,但是如果能提供一些快速帮助,我将不胜感激

<html>
<head>
<title></title>
</head>
<body>

<div id="main">
<img src="photo1.jpg" alt="" id="mainImg">

</div> 

<div id="imglist">
<a href="javascript:previousImage('mainImg')"><img src="previous.jpg" alt=""></a>
<a href="javascript:nextImage('mainImg')"><img src="next.jpg" alt=""></a>
<script>
var imgArray = new Array();

imgArray[0] = new Image();
imgArray[0].src = 'photo1.jpg';

imgArray[1] = new Image();
imgArray[1].src = 'photo2.jpg';

imgArray[2] = new Image();
imgArray[2].src = 'photo3.jpg';


function nextImage(element)
{
    var img = document.getElementById(element);

    for(var i = 0; i < imgArray.length;i++)
    {
        if(imgArray[i].src == img.src) // << check this
        {
            if(i === imgArray.length){
                document.getElementById(element).src = imgArray[0].src;
                break;
            }
            document.getElementById(element).src = imgArray[i+1].src;
            break;
        }
    }
}

function previousImage(element)
{
   var img = document.getElementById(element);

   for(var i = 0; i < imgArray.length;i++)
   {
      if(imgArray[i].src == img.src)
      {
         if(i === 0){
            document.getElementById(element).src = imgArray[imgArray.length-1].src;
            break;
         }
         else{
            document.getElementById(element).src = imgArray[i-1].src;
            break;
         }
      }
   }
}
</script>
</body>
</html>

var imgArray=新数组();
imgaray[0]=新图像();
imgaray[0].src='photo1.jpg';
imgaray[1]=新图像();
imgaray[1].src='photo2.jpg';
imgaray[2]=新图像();
imgaray[2].src='photo3.jpg';
函数下一个时间段(元素)
{
var img=document.getElementById(元素);
对于(变量i=0;i如果(imgArray[i].src==img.src)/存在js错误,则前一个函数的内部if条件未正确关闭。请尝试始终调试此类错误

function previousImage(element)
{
   var img = document.getElementById(element);

   for(var i = 0; i < imgArray.length;i++)
   {
      if(imgArray[i].src == img.src)
      {
         if(i === 0){
            document.getElementById(element).src = imgArray[imgArray.length-1].src;
            break;
         }// this was not there before
         else{
            document.getElementById(element).src = imgArray[i-1].src;
            break;
         }
      }
   }
}
函数先前图像(元素)
{
var img=document.getElementById(元素);
对于(变量i=0;i
你能给我们看一些html吗?@DavidTansey我用我当前的代码更新了它。这修复了它不向前移动图像的错误,但现在我如何使它向后移动图像呢?[I-1]不起作用,我将I++更改为a++I,但仍然不行。在上面的代码中,我正在检查它是否为0,那么在这种情况下,上一个图像将是最后一个第三个图像(循环)非常棒,如果我能向上投票,我会的。我会给页面添加书签,当我达到15个代表时再做。非常感谢!现在我该怎么做才能让文本框工作?JS是否有一个getline或cin类型的函数,我可以与if语句进行比较?为用户输入设置一个var,然后让输入通过一组ifs/else ifs,对吗?你可以单击复选框接受答案:)。是的,您可以使用
document.getElementById(“textboxid”).value
并进行比较。