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