2010-07-21 18 views
0

J'ai un curseur vertical qui fonctionne bien sauf quand il doit faire défiler plus d'une fois.Le curseur de liste verticale de Jquery ne répétera pas plus d'une fois

view slider

Ce code

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

Je veux être en mesure de faire défiler le curseur vers le bas plus d'une fois.

Des idées?

Vive Nik

Répondre

1

Je ne suis pas sûr que je comprends votre question, mais en général vous voulez changer l'UL et vers le bas jusqu'à ce qu'il arrive à la fin de la liste. C'est assez facile à faire quand vous avez un conteneur à hauteur fixe. Juste soustraire 510px dans votre animation sur le bouton suivant au lieu de le régler à -510px. Après cela, utilisez vos variables totalheight et containerheight pour savoir quand désactiver les boutons (je suggère d'utiliser if/else) au lieu d'ajouter et de supprimer des classes).