2012-03-23 3 views
0

カルーセルとしてjquery cycleを使用しています。ナビゲーションボタンにいくつかの機能を追加して、スライドショーの開始時に前のボタンが無効になり、スライドショーの最後に次のボタンが無効になるようにしたいと思います。Jquery cycle change hide関数を無効にする

http://jquery.malsup.com/cycle/after.html部分解決策がありますが、ボタンを非表示(表示しません)にしたくありません。クラスに「無効」を指定します。

私は悩みそうするように、このスクリプトを適応を抱えている:

<script type="text/javascript"> 
$(document).ready(function() { 
    $('.slideshow').cycle({ 
     fx: 'scrollHorz', // choose your transition type, ex: fade, scrollUp, shuffle, etc... 
     next: '#mycarousel-next', 
     prev: '#mycarousel-prev', 
     after: onAfter, 
     pause: true, 
     nowrap: true, 
    }); 
}); 
function onAfter(curr, next, opts) { 
    var index = opts.currSlide; 
    $('#mycarousel-prev')[index == 0 ? 'hide' : 'show'](); 
    $('#mycarousel-next')[index == opts.slideCount - 1 ? 'hide' : 'show'](); 
} 
</script> 

私は$( '#のmycarousel-次')を持参する必要てると思うのattr( ''、 '無効')。 ;上記の文の中に、私のjavascriptのは、貧しい:(任意の助けを事前に

多くのおかげで

トニー

答えて

1

かなりストレートフォワード。あなたが最初または最後のスライドである場合、disabledを追加クラス。 、必ず両方の最初からdisabledクラスを削除するか、あるいはあなたがいずれかの端に到達した後、あなたは常に無効のままになります。これは、あなたがdisabled用に定義されたCSSを前提としています。

function onAfter(curr, next, opts) { 
    var index = opts.currSlide; 

    $('#mycarousel-prev, #mycarousel-next').removeClass('disabled'); 

    if(index == 0) { 
     $('#mycarousel-prev').addClass('disabled'); 
    } else if(index == (opt.slideCount-1)) { 
     $('#mycarousel-next').addClass('disabled'); 
    } 
} 

無効にしたいボタンを使用している場合は、コードを次のように変更する必要があります。

function onAfter(curr, next, opts) { 
    var index = opts.currSlide; 

    $('#mycarousel-prev, #mycarousel-next').attr('disabled', ''); 

    if(index == 0) { 
     $('#mycarousel-prev').attr('disabled','disabled'); 
    } else if(index == (opt.slideCount-1)) { 
     $('#mycarousel-next').attr('disabled','disabled'); 
    } 
} 
+0

ジェフ、多くのあなたの答えに感謝します。私はそれを簡単に試して、障害のあるクラスが完全に追加されているのを見ることができます。しかし、前または次のボタンがトランジションの途中で押されるタイミングの問題があります。私はこれがクラスを追加することとはまったく関係ないと確信しています。私はちょっと掘り起こす必要があります - 私はこの種のスライドのジャンプをどこかで言及したことを確信しています。 更新 - 遷移中にナビゲーションリンクが押された場合、このデモhttp://jquery.malsup.com/cycle/after.htmlでジャンプ/ジャーキングを見ることができます。うーん。 – ToeKneeC

関連する問題