Я пытаюсь включить скрипт прокрутки Valums (http://valums.com/scroll-menu-jquery/) в динамически создаваемую нумерацию плагина Cycle, http://www.malsup.com/jquery/cycle/pager2.html. В основном я пытаюсь получить динамическую пагинацию (1, 2, 3 ...) прокручивать мышью.
Итак, у меня есть оригинальный демонстрационный код Cycle:
$ ( '# слайд-шоу'). Ранее ( ''). Цикл ({
FX: 'TurnDown',
скорость: «быстро»,
время ожидания: 0,
пейджер: '#nav',
// callback fn that creates a thumbnail to use as pager anchor
pagerAnchorBuilder: function(idx, slide) {
return '<li><a href="#"><img src="' + slide.src + '" width="50" height="50" /></a></li>';
}
}); * +1011 *
А потом я пытаюсь применить:
$ (функция () {
// Получить наши элементы для более быстрого доступа и установить ширину наложения
var div = $ ('div # nav'),
ul = $ ('ul # nav'),
// неупорядоченный список левого поля
ulPadding = 15;
//Get menu width
var divWidth = div.width();
//Remove scrollbars
div.css({overflow: 'hidden'});
//Find last image container
var lastLi = ul.find('li:last-child');
//When user move mouse over menu
div.mousemove(function(e){
//As images are loaded ul width increases,
//so we recalculate it each time
var ulWidth = lastLi[0].offsetLeft + lastLi.outerWidth() + ulPadding;
var left = (e.pageX - div.offset().left) * (ulWidth-divWidth) / divWidth;
div.scrollLeft(left);
});
});
Проблема в том, что:
var lastLi = ul.find ('li: last-child');
не может найти последний элемент, потому что все элементы создаются динамически. Есть идеи, как можно ограничить работу скриптов, чтобы элементы внутри #nav можно было прокручивать при перемещении мыши?