2010-07-21 8 views
0

У меня есть вертикальный слайдер, который хорошо работает, за исключением случаев, когда требуется прокрутка более одного раза.JQuery вертикальный слайдер списка не повторяется более одного раза

view slider

Это код

$(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); 
     } 
    }); 
}); 

Я хочу, чтобы иметь возможность сделать ползунок прокрутки вниз несколько раз.

Любые идеи?

Приветствия Nik

ответ

1

Я не уверен, я понимаю ваш вопрос, но в целом вы хотели бы сместить UL вверх и вниз до него дойдет до конца списка. Это достаточно легко сделать, если у вас есть контейнер с фиксированной высотой. Просто вычтите 510px в своей анимации на следующей кнопке, а не установите ее на -510px. После этого используйте переменные totalheight и containerheight, чтобы выяснить, когда отключить кнопки (я бы предложил использовать if/else) вместо добавления и удаления классов).