2016-04-17 8 views
0

jQueryを使用してonclickイベントに基づいて非常に簡単なスライドショーを作成しています。ユーザーが次のボタンをクリックすると、スライダは余白を残します: - = 400px。スライダーは素晴らしいですが、最後のスライダーに移動してユーザーがもう一度ボタンをクリックすると、何も表示されません。ちょうど - = 400pxになります。私がしたいのは、ユーザーが最後のimgにいるときにクリックすると、最初のイメージを表示し、次に2番目のイメージを表示することです。私は誰かがボタンをクリックしているときに無限ループをしたいと思います。うまくいけば、誰かがこの問題を助けることができます。jQueryスライダonclickイベントループ写真

ありがとうございました。

HTMLコード:

<div class="slideClick"> 
     <ul class="sliderClick"> 
      <li class="slidesClick"><img src ="imgs/model_01.jpg"></li> 
      <li class="slidesClick"><img src ="imgs/model_02.jpg"></li> 
      <li class="slidesClick"><img src ="imgs/model_03.jpeg"></li> 
      <li class="slidesClick"><img src ="imgs/model_04.jpg"></li> 
      <li class="slidesClick"><img src ="imgs/model_01.jpg"></li> 
     </ul> 
</div> 
    <button class="clickPrev">Prev</button> 
    <button class="clickNext">Next</button> 

CSSコード:

.slideClick { 
    clear: both; 
    width:400px; 
    height:400px; 
    border: 1px solid black; 
    overflow: hidden; 
    margin-top: 100px; 
} 

.slideClick .sliderClick{ 
    width:2000px; 
    height:400px; 
} 

.slideClick .sliderClick .slidesClick { 
    list-style: none; 
} 

.slideClick .sliderClick .slidesClick img{ 
    width:400px; 
    height:400px; 
    float:left; 
} 

のjQueryコード:

var currentClickSlider = 1; 

$(".clickNext").on("click", function(){ 
    $(".sliderClick").animate({marginLeft: "-=400px"}, 500, function(){ 

     currentClickSlider++; 
     if (currentClickSlider === $(".slidesClick").length){ 

      currentClickSlider = 1; 
      $(".sliderCLick").css("margin-left", 0); 
     } 

    }); 
}); 

答えて

0
if (currentClickSlider === $(".slidesClick").length + 1) { 

あなたが何をしたいかは、要素が最後であるかどうかを確認で素子。カウンタは1から始まります。したがって、N + 1個の要素の後にスライダを繰り返します。

+0

ウォリアーさんにお返事ありがとうございました。しかし、私は最後に.lengthを含めなかったのは間違いでした。私は、URコードを使用しているが、それはまだ動作していません。 – NoName84

+1

アニメーションコールバック関数には、$( "。sliderCLick")のようないくつかのミスタイプがあります。アニメーションを行う前に状態をリセットしたいので、スライダを再起動するコードをコールバックから外しておくことをお勧めします。最初に表示しようとしている要素を確認し、それに基づいてアニメートします。 – Warrior

+0

あなたが忙しくないなら、どうすればコードを書いてくれますか?これが機能するためには? – NoName84