2017-06-25 16 views
1

ここでは、次のとおりです。https://jsfiddle.net/t2zwo0fr/2/jQuery前/次のスライダ - >最初/最後のスライドで前/次を無効にする方法は?

私はにしたいが、次の場合に次/前のボタンを無効にすることです:最初のスライドが国境内に存在する場合

  1. は前のボタンを無効にします。

  2. アニメーションが最後のスライドに到達したときに次のボタンを無効にします。内部に存在する最後のスライド上のセクションの内側に予め設定された第1のスライド上の

    1. 私はさらに右に行くからスライダーを防止したいと...

    2. :つまり

      私は スライダがそれ以上左にならないようにしたいと思います。

HTML:

<a href="" class="prev">prev</a> 
<a href="" class="next">next</a> 
<section> 
    <ul> 
    <li> 
     West African lion population is particularly endangered. 
    </li> 
    <li> 
     West African lion population is particularly endangered. 
    </li> 
     <li> 
     West African lion population is particularly endangered. 
    </li> 
    </ul> 
</section> 

のjQuery:

var slideIndex = 0; 

次:if slideIndex < slideCount - 1

var szer1slidu = $('ul li').width(); 
    var wys1slidu = $('ul li').height(); 
    var slideCount = $('ul li').length; 
    var calosc = slideCount * szer1slidu; 
    var active = false; 

    $('section').css({ 
    width: szer1slidu, 
    height: wys1slidu 
    }); 

    $('ul').css ({ 
    width: calosc 
    }); 

    $('.next').click(function(e) { 

      e.preventDefault(); 
      if (active) { 
       return; 
      } 
      active = true; 
     $('ul').animate({'left': $('ul').position().left-szer1slidu},     2000, function() { { active = false; } 
     }); 
    }); 


    $('.prev').click(function(e) { 
     e.preventDefault(); 
      if (active) { 
       return; 
      } 
     active = true; 
     $('ul').stop().animate({ 
      'left': $('ul').position().left+szer1slidu}, 2000, function() { 
     { active = false; } 
     }); 
      }); 
+0

インクリメントでした/それぞれの上にカウンタをデクリメントクリックして、/ショー適切なボタン – charlietfl

+0

を非表示にするslideCountまたはゼロと比較...それは –

+0

を働くかもしれないが一般的ですアプローチ...は動作します – charlietfl

答えて

0

あなたは、インデックスを使用することができますnextおよびslideIndex++
前:if slideIndex > 0prevおよびslideIndex--

参照:https://jsfiddle.net/t2zwo0fr/8/

+0

OPにはすでに 'length'を持つ変数' slideCount'があります。コードを複製する必要はありません – charlietfl

+0

@ania_piszkoベストアンサーなしで投票:(? – glegoux

+0

glegoux答えをありがとうございます。私はまだ投票することはできません十分なreputatnionポイント –

0

私より類似またはより良い解決策があります。しかし私が提案したのは、data-slide属性を現在のスライドを保持する<ul>に追加することです。そして、私は1

からこれを始めJSFiddleを確認してください:https://jsfiddle.net/junaidkbr/1zt3qLb5/4/

関連する問題