Jquery вертикальный список слайдер не повторяется не раз
-
26-09-2020 - |
Вопрос
У меня есть вертикальный слайдер, который хорошо работает, кроме случаев, когда он должен прокручивать более одного раза.
Это код
$(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
Решение
Я не уверен, что понимаю ваш вопрос, но вообще вы хотите перенести ул вверх и вниз, пока он не доберется до конца списка.Это достаточно легко, чтобы сделать, когда у вас есть контейнер с фиксированной высотой.Просто вычитайте 510px в вашей анимации на следующей кнопке вместо того, чтобы установить его до -510px.После этого используйте вашу переменные Tolelyight и ContainerHeight, чтобы выяснить, когда отключить кнопки (я бы предложил использовать, если / else), вместо добавления и удаления классов).