尝试使用“下一步”和“上一步”按钮获取简单的javascript库,以循环回到开始

尝试使用“下一步”和“上一步”按钮获取简单的javascript库,以循环回到开始,javascript,loops,image-gallery,next,Javascript,Loops,Image Gallery,Next,我对javascript相当陌生,但我基本上是在尝试通过gallery进行下一次/上一次点击。我已经找到了一些教程和图片,可以点击浏览。然而,在第四张(最终)图片之后,我似乎不知道如何回到系列的开头 这就是我目前所拥有的- <script type="text/javascript"> var photos=new Array() var which=0 photos[0]='images/image1.jpg' photos[1]='images/image2.jpg'

我对javascript相当陌生,但我基本上是在尝试通过gallery进行下一次/上一次点击。我已经找到了一些教程和图片,可以点击浏览。然而,在第四张(最终)图片之后,我似乎不知道如何回到系列的开头

这就是我目前所拥有的-

<script type="text/javascript">

 var photos=new Array()
 var which=0
 photos[0]='images/image1.jpg'
 photos[1]='images/image2.jpg'
 photos[2]='images/image3.jpg'
 photos[3]='images/image4.jpg'

 function backward(){
    if (which > 0){
        which=which-1
        document.images.photoslider.src=photos[which]
    }
 }

 function forward(){
     if (which<photos.length-1){
        which=which+1
        document.images.photoslider.src=photos[which]
     }
 }

 </script>

 <form>
     <input type="button" value="&lt;&lt;Back" onClick="backward()"> 
     <input type="button" value="Next&gt;&gt;" onClick="forward()">
 </form>

var photos=新数组()
var=0
照片[0]='images/image1.jpg'
照片[1]=“images/image2.jpg”
照片[2]=“images/image3.jpg”
照片[3]=“images/image4.jpg”
函数向后(){
如果(哪个>0){
哪个=哪个-1
document.images.photoslider.src=photos[which]
}
}
函数forward(){
if(哪个
函数向后(){
如果(哪个>0){
which=which-1;
}否则{
其中=photos.length-1;
}
document.images.photoslider.src=photos[which];
}
函数forward(){
如果(哪个你可以这样做:

function backward() {
    if (which <= 0) {
        which = photos.length - 1;
    } else {
        which--;
    }
    document.images.photoslider.src=photos[which];
 }

 function forward(){
     which = (which + 1) % photos.length;               //  modulus keeps which within
     document.images.photoslider.src=photos[which];     // the bounds, while incrementing
 }
函数向后(){
如果(哪个<代码>
单击按钮以更改图像

var photos=新数组() 变量i=0 照片[0]=“youtube.png”;//在此处输入图像的路径 照片[1]=“facebook.png”; 照片[2]=“twitter.png”; 照片[3]='sirius_logo_sm.gif'; 函数向后(){ 如果(i>0){ i=i-1; }否则{ i=照片。长度-1; } document.getElementById(“prev”).src=photos[i]; } 函数forward() {
if(等轴测提示:使用
[]
而不是
新数组()
,因为它更快,占用更少的空间,并且在需要分号的地方放上分号,因为即使JavaScript自动插入分号,有时它也会在意外的地方插入分号,并导致意外的错误。这在从image4移回image1时非常有效!但是由于某种原因,在从image1中选择“返回”时,它会跳过图像4和图像3。我将`document.images.photoslider.src=photos[which];`放在else中。请花时间解释为什么您的答案正确,而不是代码转储。请使用更多信息进行编辑。仅使用代码并“尝试此”答案是不鼓励的,因为它们不包含可搜索的内容,并且没有解释为什么有人应该“尝试这个”。
function backward() {
    if (which <= 0) {
        which = photos.length - 1;
    } else {
        which--;
    }
    document.images.photoslider.src=photos[which];
 }

 function forward(){
     which = (which + 1) % photos.length;               //  modulus keeps which within
     document.images.photoslider.src=photos[which];     // the bounds, while incrementing
 }
<!DOCTYPE html>
<html>
<body>


<p> click on the button to change the image</p>

     <input type="button" value="&lt;&lt;Back" onClick="backward()"> 

     <img src = "youtube.png" value = "PREVIOUS" id = "prev">


     <input type="button" value="Next&gt;&gt;" onClick="forward()">





<script>

var photos = new Array()
 var i=0
 photos[0]='youtube.png';    //enter the path of the image here
 photos[1]='facebook.png';
 photos[2]='twitter.png';
 photos[3]='sirius_logo_sm.gif';


function backward(){
    if (i>0){
     i=i-1;
    } else {
     i=photos.length-1;
    }
    document.getElementById("prev").src=photos[i];
 }

 function forward()
 {
    if (i<photos.length-1){
     i=i+1;
    } else {
     i=0;
    }
 document.getElementById("prev").src=photos[i]; }


</script>
</body>
</html>