Я не слишком разбираюсь в JQuery за пределами стандартной функциональности API, но у меня на странице есть несколько скроллеров, которые все используют один и тот же код, но у каждого из них есть несколько своих настроек (например, отдельные высоты и пределы прокрутки и текущее количество раз их прокрутки). Я хочу иметь возможность использовать код снова и снова, но каждая ссылка получает свой собственный набор переменных. Я думаю, что прототипы - это то, что мне нужно, но я не могу обернуться вокруг примеров, которые я видел об этом. Это мой код скроллера:
$(document).ready(function() {
var scrollAmt = 50; //distance in pixels;
var scrollableAmt = $('#weblinks .container').outerHeight();
var viewAmt = $('#weblinks').outerHeight();
var maxScroll = Math.ceil((scrollableAmt-viewAmt) / scrollAmt);
var currentItem = 0;
function setScrollButtons(scrollRef,scrollAmount){
}
$("#weblinks .scrollDownBtn").click(function(){
if (currentItem <= maxScroll){
$('#weblinks .container:not(:animated)').animate({'top' : '-='+ scrollAmt + ''},500,function(){
currentItem++
});
} else {
currentItem = 0;
$('#weblinks .container:not(:animated)').animate({'top' : currentItem},500);
}
});
$("#weblinks .scrollUpBtn").click(function(){
if (currentItem > 0){
$('#weblinks .container:not(:animated)').animate({'top' : '+='+ scrollAmt + ''},500,function(){
currentItem--;
});
} else {
$('#weblinks .container:not(:animated)').animate({'top' : currentItem},500);
}
});
});
По сути, я бы хотел создать функцию или класс, я думаю, что он завершит весь приведенный выше код, но сможет передать ему ссылку на div вместо #weblinks, и, возможно, передать это сумма прокрутки, и несколько экземпляров этой функции могут существовать на одной странице вместе. У кого-нибудь есть какой-нибудь совет о том, как это сделать?
РЕДАКТИРОВАТЬ: я добавил HTML, который всегда будет существовать для каждого скроллера.
<div id="weblinks" class="scrollbar_container">
<div class="customScrollBox">
<div class="container">
<div class="content">
</div>
</div>
<a class="scrollUpBtn" href="javascript:void(0);"></a> <a class="scrollDownBtn" href="javascript:void(0);"></a>
</div>
</div>