AD Gallery. Берем управление на себя.

Хочу написать небольшую заметку про данную галерею под jQuery. В целом очень хороший скрипт, работает на 100%, но я столкнулся с его неприятной особенностью.

Контент в моем случае генерируется автоматически и количество фото в галерее заранее неизвестно. Казалось бы не беда. Формируй себе разметку из мануала и не думай ни о чем. Но на деле оказалось все не так просто. Я начал наблюдать баг в случае если в галерее у меня содержалось 3 фото. Сначала мн это показалось странным, но когда я залез в код формирования длины списка превьюшек все стало ясно.

Дело в том, что разработчики плагина делали так: в цикле прогоняется операция проверки текущей высоты списка (ul) с “предыдущим” значением, если высота все та же, то к ширине прибавляется i. И так прогонялось пока i<201… Вообще странная схема определения “запаса в ширину”. И в случае 3-х фото она не срабатывала.  Добавочной ширины недоставало, чтобы список превьюшек “выпрямился” в линию.

Вместо этого логичнее делать другое. За основу лучше брать высоту картинки превьюшки (в случае когда она одинакова для всего ряда, а это наиболее приятный вариант). И тогда увеличение ширины можно сделать в цикле такого вида while(list.height() > img_height+10). Здесь list - это список с превью, img_height - вытянутая высота любой картинки из блока списка. В таком варианте список превью не будет выстроен в две линии и более.

Таким образом удалось вылечить проблему галереи с 3-мя фото.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">