0

現在のスライドに基づいて、「前へ」または「次へ」ボタンを削除/非表示にしようとしています。

ユーザーが最後に到達した場合、ユーザーは後方にしか移動できず、最初にいる場合は前方にしか移動できません。

AnythingSlider jQuery プラグインを使用しています。ここにあります: http://css-tricks.com/anythingslider-jquery-plugin/

JavaScript コードはこちらにあります: https://github.com/CSS-Tricks/AnythingSlider/blob/master/js/jquery.anythingslider.js

ホバー、引数を any スライダー関数に渡したいと思います。よりユーザーフレンドリーになると信じているからです(特に、将来この質問を読む人にとって)。

基本的に、新しいオプションを追加することについて話しています。

前もって感謝します。

4

3 に答える 3

3

それでは、論理的思考から始めましょう。何を見つける必要がありますか?次のスライド ボタンをクリックした後、次の矢印を非表示にする必要があります。または、前のスライド ボタンとそれが最初の画像の場合 - 前のボタンを非表示にする必要があります。そのため、最初はページのスクロール アクションを見つける必要があるようです。
私はコードを調べて(なんてこった... 900行)、最終的に518行目にそのようなコードを見つけました:

base.gotoPage = function(page, autoplay, callback, time) {

この関数は、ページをスクロールするために呼び出されます。ですから、「もっと深くする必要があります」。コードでは、ナビゲーション更新関数を見つけることができます。569行目:

// Set visual
if (o.buildNavigation){
    base.setNavigation(base.targetPage);
}

必要なのは、最後のページか最初のページかを簡単にチェックして矢印を非表示にする新しい機能を追加することだけです。行きましょう(572行目の挿入の後):

if (o.showNullArrows){
    base.hideNullArrows(base.targetPage);
}

ここでアクションをバインドします。少し下にスクロールして、全機能のコードを貼り付けます。たとえば、692 行目以降:

base.hideNullArrows = function(page){
    if(page==0) 
        base.$back.hide();
    if(page==base.pages) 
        base.$forward.hide();
};

わかりました。これで、ページを変更した後、バインドされたアクション コールが完全に機能するようになりました。しかし..ページをスクロールする別の機能がまだあります!660行目

base.setCurrentPage = function(page, move) {

うーん.. たぶん.. これで何をすべきかおわかりでしょう。幸運を :)

于 2012-09-09T20:50:35.130 に答える
2

それはドキュメントにあります。少し検索する必要があります:)。

ここに jsfiddle があります: http://jsfiddle.net/Mottie/ycUB6/85/

$('#slider').anythingSlider({

    // if false, the slider will not wrap
    infiniteSlides: false,

    // If true & the slideshow is active, the  slideshow will stop on the last page. This also stops the rewind effect  when infiniteSlides is false.
    stopAtEnd: true

});​
于 2012-09-09T20:50:53.347 に答える
-1

自分でコードを調べて、中間のどこかに if ステートメントを作成し、どの画像を表示しているかを示す何らかのキーを見つけてみてください。

于 2012-09-09T20:02:56.010 に答える