0

私はjavascriptにかなり慣れていませんが、基本的にギャラリーを次/前のクリックにしようとしています。クリックする画像を取得するためのチュートリアルとビットを見つけることができました。ただし、4枚目(最終)の画像の後にシリーズの最初に戻る方法がわかりません。

これは私がこれまでに持っているものです-

<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>

基本的に、ボタンで 4 つの画像を連続的にループさせたいと考えています。私はそれを見ることができない簡単な解決策があることを知っています。どんな助けでも素晴らしいでしょう!前もって感謝します!

4

3 に答える 3

2

あなたはこれを行うことができます:

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
 }

逆方向に進み、 which が 0 以下の場合、最後の写真にジャンプします。これ以降、 which + 1 == photos.length の場合、モジュラスはそれをゼロにし、ループして最初に戻ります。

于 2012-08-17T22:18:00.570 に答える
0
 function backward(){
    if (which>0){
     which=which-1;
    } else {
     which=photos.length-1;
    }
    document.images.photoslider.src=photos[which];
 }

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

多田!

于 2012-08-17T22:08:28.930 に答える