Записки разработчика

10.10.2014

проблема в карусели TinyCarousel

Добрый день! Хочу поделится с вами проблемой, с которой столкнулся и потратил время на решение.

Долгое время я пользовался jQuery-плагином для отображения фотографий и другого контента в красивом модальном окне fancybox, у меня была библиотека скачанная с сайта http://fancybox.net

На днях возникла задача запилить на одном сайте jQuery-карусель. Я выбрал TinyCarousel (http://baijs.nl/tinycarousel/). Все хорошо получилось, контент-менеджеры сломя голову начали добавлять изображения в карусель, ничего не предвещало неприятностей.

Внезапно менеджер сказал мне о странном поведении карусели, в конце 7 последних кадров при переключении вбок вызывало мельтешение кадров и, в конце концов, переключался на нужный кадр. Пришлось засесть в глубокий дебаг скрипта карусели, но нелогичности в коде не обнаруживались. Единственная зацепка была — мельтешение начинает происходить после получения внутренней переменной смещения большее 10000px. Гуглинг по этой зацепке ничего не дал.

После часа бесполезного медетирования над скриптом, решил попробовать потестить «сферического коня в вакууме». Взял канонический пример из библиотеки tinycarousel. Добавил в 6 имеющимся блокам карусели еще 70. Вывел смещение — и... ничего, смещение уже за 17 тысяч. Никаких глюков. Работает зараза как часы. Стал менять css-код, чтобы приблизить каноническую карусель к своей задаче (хотя бы по попожести). Не глючит. В итоге решил перетянуть блоки из сайта (чем черт не шутит, вдруг проблема в картинках xD).
Перетянул, все работает и красиво каруселит) Потом внезапно появилась догадка относительно влияния библиотеки fancybox. Конечно либа не заработала... т.к. в каноническом пример jquery используется из Google Host Library — latest. А для fancybox нужна 1.4.3
Подключаю, fancybox заработал. А вот карусель сломалась)) Именно аналогичным глюком. Путем подбора выяснил — что нормально работает с обоими либами jquery-1.5.2 ))

Вот так-то. И почему я сразу не подумал про версию jquery? Написал — вдруг кому-то пригодится.

admin @ 02:13


 

Powered by WordPress