Я работал над сценарием автоматической прокрутки миниатюр.
Кто-нибудь может подсказать, как я мог бы иметь несколько версий скроллера без необходимости дублировать JavaScript. Было бы здорово, если бы я мог сделать код универсальным, но каким-то образом указать идентификаторы DIVS, в которых должен работать скроллер миниатюр, возможно, в переменной. Помощь будет очень ценится! :)
Здесь это на JSFiddle.
Вот как выглядит JavaScript:
$(function() {
buildThumbs();
function buildThumbs() {
$('div.album').each(function() {
var width = 0;
var wrapper = $(this).find('.st_thumbs_wrapper');
wrapper.find('.st_thumbs a').each( function() {
width += $(this).outerWidth(true);
});
var thumbs = $(this).find('.st_thumbs');
thumbs.css('width', width + 'px');
makeScrollable(thumbs, wrapper);
});
}
function makeScrollable(thumbs, wrapper) {
var width = wrapper.innerWidth();
wrapper.scrollLeft(0);
var leftBuffer = 200;
var rightBuffer = 200;
//When user move mouse over menu
wrapper.unbind('mousemove').bind('mousemove', function(e) {
var xPos = e.pageX - wrapper.offset().left - leftBuffer;
var xMax = wrapper.innerWidth() - rightBuffer;
if(xPos > 0 && xPos < xMax) {
var perc = xPos / (xMax - leftBuffer);
var scrollAmt = thumbs.outerWidth(true) - wrapper.innerWidth();
wrapper.scrollLeft(perc * scrollAmt);
}
});
}
});