0

複数回スクロールする必要がある場合を除いて、うまく機能する垂直スライダーがあります。

スライダーを見る

これがコードです

$(document).ready(function() {
    var speed = 1050;
    var elementHeight = 106;
    var countElements = $('#portfolio-navigation ul li');
    var numberElements = countElements.length;
    var totalHeight = numberElements * elementHeight;
    var containerHeight = 742;

    var currentPlace = elementHeight * 7;
    var currentDifference = 0;
    $("#up").addClass("nogo"); 
    $("#down").click(function(event) {
        $("#down").addClass("nogo");
        $("#up").removeClass("nogo");
        event.preventDefault();
        if (currentPlace >= totalHeight) { 
        } else { // Ellers, continue!
        currentPlace += elementHeight;
        currentDifference += elementHeight; 
            $("#portfolio-navigation ul").animate({ top: "-510px"}, speed );
        }   
    });
    $("#up").click(function(event) {
         $("#down").removeClass("nogo");
         $("#up").addClass("nogo");
        event.preventDefault();

        if (currentPlace <= containerHeight) { 
        } else { // Ellers, continue!
        currentPlace -= elementHeight;
        currentDifference -= elementHeight; 
            $("#portfolio-navigation ul").animate({ top: 0 + "px"}, speed );
        }   
    });
});

スライダーを複数回下にスクロールできるようにしたい。

何か案は?

乾杯ニック

4

1 に答える 1

1

私はあなたの質問を理解しているかどうかわかりませんが、通常、リストの最後に到達するまで UL を上下にシフトしたいと思うでしょう。これは、高さが固定されたコンテナーを使用している場合に簡単に実行できます。-510px に設定する代わりに、次のボタンのアニメーションで 510px を差し引くだけです。その後、totalheight 変数と containerheight 変数を使用して、ボタンを無効にするタイミングを判断します (クラスを追加および削除する代わりに、if/else ステートメントを使用することをお勧めします)。

于 2010-07-21T19:19:31.200 に答える