670
 

LightGallery

Обзор

LightGallery это скрипт-галерея, написанная на языке JavaScript, которая показывает изображения поверх веб страницы и способна показывать как одиночные изображения, так и галереи с использованием эффектов плавного изменения размеров и прозрачности (fade in/out). Скрипт протестирован во всех A-grade браузерах: IE 6+, Firefox 2+, Safari 3+, Opera 9.5+.

Возможности

  • Масштабирование изображений
  • Возможность изменять режим “во весь экран/по размеру экрана”
  • Анимированные эффекты – плавное изменение размеров и прозрачности
  • Возможность устанавливать опции: изменять скорость анимации, включать/выключать анимацию, устанавливать синхронное изменение размеров, включать/выключать масштабирование и др.
  • Возможность добавлять языковые пакеты (в данный момент доступен только русский)
  • Предварительная загрузка изображений (preload)


Примеры

Демо пример работы скрипта можно посмотреть здесь.


Установка

Чтобы установить LightGallery на веб страницу, добавьте следующий скрипт:

<script src="lightgallery/lightgallery.min.js" type="text/javascript"></script>

Заметьте: вы можете выбрать, какой скрипт подключать – несжатая версия (lightgallery.js), минифицированная (lightgallery.min.js) и сжатая (lightgallery.packed.js). lightgallery.js следует использовать только в целях разработки и отладки. Во всех других случаях используйте либо минимизированную либо сжатую версию. Если вы сжимаете скрипты при помощи GZip, то лучший вариант это минимизированная версия.

Если необходимо добавить языковой пакет, добавьте соответствующий скрипт (на этом примере показано добавление русского языкового пакета с кодировкой UTF-8):

<script src="lightgallery/lang/ru_utf8.js" type="text/javascript"></script>

Добавьте вызов функции lightgallery.init() в событие onload:

lightgallery.init();

Также можно установить различные опции:

lightgallery.init({
	enableZoom:false,
	speed:50,
	fadeImage:false
});

Доступные опции:

  • animate (по умолчанию – true) – включение/выключение анимации
  • framesNumber (по умолчанию – 20) – количество кадров в анимации
  • speed (по умолчанию – 30) – отрезок времени между воспроизведением кадров, мсек
  • resizeSync (по умолчанию – false) – если установить в true, то размеры контейнера изменяются одновременно и по-горизонтали и по-вертикали
  • enableZoom (по умолчанию – true) – включение/выключение масштабирования
  • fadeImage (по умолчанию – true) – использовать плавное появление для изображений (лучше выключать для изображений большого размера)
  • alias (по умолчанию – ‘lightgallery’) – псевдоним, используемый в атрибуте “rel” (rel = ‘lightgallery’).
  • showOverlay (по умолчанию – true) – показывать ли оверлей
  • overlayColor (по умолчанию – #000) – цвет оверлея
  • overlayOpacity (по умолчанию – .85) – прозрачность оверлея
  • zoomStep (по умолчанию – 0.2) – коэффициент увеличения/уменьшения размера при масштабировании
  • fullSize (по умолчанию – false) – показывать ли изображения в реальном размере по умолчанию (не подгонять размер изображений под размер экрана)
  • minPadding (по умолчанию – 15) – минимальное расстояние между контейнером и окном (пиксель)

Далее добавьте стиль style.css из директории skin/default (в данный момент LightGallery содержит только один скин – default):

<link href="lightgallery/skins/default/style.css" type="text/css" media="screen" rel="stylesheet" />

И последнее – необходимо отметить все изображения для просмотра используя аттрибут rel=”lightgallery”. Все изображения, которые необходимо группировать в галереи должны содержать имя галереи в квадратных скобках, т.е. так rel=”lightgallery[flowers]“. Значения аттрибута title ссылок будет отображаться как подпись к рисунку. Примеры:

Одиночные изображения

<a href="001.jpg" rel="lightgallery" title="Leaves after rain"><img src="001_t.jpg" alt=""/></a>
<a href="002.jpg" rel="lightgallery" title="Pink flowers">Pink flowers</a>



Галерея

<a href="001.jpg" rel="lightgallery[flowers]" title="Leaves after rain"><img src="001_t.jpg" alt="" /></a>
<a href="002.jpg" rel="lightgallery[flowers]" title="Pink flowers"><img src="002_t.jpg" alt="" /></a>

На заметку: Вы можете изменить значение атрибута “lightgallery” на что-нибудь другое используя опцию alias. Установите её в “lightbox” если необходима совместимость с LightBox:

lightgallery.init({
	alias : 'lightbox'
});


Управление

Чтобы просматривать следующее/предыдущее изображение, масштабировать и т.д. используйте соответствующие ссылки или следующие команды:
“b” – предыдущее изображение, “n” – следующее изображение, “f” – показать реальный размер изображения, “+” – увеличить, “-” – уменьшить, “Esc” – выход.


Загрузить

Последняя версия 1.3 – загрузить

Посетить страницу проекта на GoogleCode


Обратная связь

Если у Вас возникнут вопросы, со мной можно связаться через email: ischenkodv@gmail.com.

Добавить в закладки:
Maklay.com - Большой каталог товаров для спорта и активного отдыха

Комментарии на “LightGallery”

  1. прикольно.
    только прокрутку экрана не отлавливает когда LG_container уже видимый

  2. @dimas
    Спасибо за замечание. Проверю.

  3. А возможно ли будет расширить функциональность библиотеки, чтобы она могла отображать не только картинки, но и другие виды контента? К примеру, как в проекте lightwindow – http://www.stickmanlabs.com/lightwindow ?

  4. @Олег
    Думаю возможно. Попробую сделать это к следующему релизу.

  5. Спасибо, попробую в своем проекте, расширение функционала это конечно хорошо … главное что б LightGallery осталась Light :)

  6. трабл в опере был исправлен в версии 9,5 самой же оперы

  7. @clankorn
    Отлично! Этот баг с onload для изображений уже давно нужно было исправить.

  8. Дмитрий 22 июня 2008 в 12:36

    Не могу никак ваш скрипт поставить помогите!!!! Нечего не работает у вас есть какойнибудь контакт типо icq?

  9. @Дмитрий
    Отвечу через email, он указан на странице “О сайте”

  10. Здравствуйте!Очень понравился ваш скрипт!Подключился с полпинка и все отлично работает.Скажите, а нет возможности ввести еще одну опцию в метод init(), которая бы устанавливала степень затемнения фона. А то использую ваш скрипт на светлом таком ресурсе,и тут вдруг мрак окутывает мир:)Спасибо Вам!

  11. @freebit
    И Вам также спасибо. Обязательно сделаю это в следующем релизе. А пока, чтобы изменить степень затемнения (прозрачность оверлея), нужно вручную изменить её значение в коде. Найдите вызов этой функции:
    fadeIn(G.overlay, 0, 85, 9);
    … и измените значение третьего параметра на нужный процент затемнения.
    Еще лучший на мой взгляд вариант это изменение цвета оверлея в файле /skins/default/style.css. Вместо черного, можно поставить светло серый цвет:
    #LG_overlay{

    background:#888;

    }

  12. Скрипт хороший. Хотелось бы узнать ,а можно как-то настроить ,чтобы при клике на маленькое фото, большое фото увеличивалось из маленького фото ,а при закрытии туда же возвращалось.Спасибо Вам!

  13. @Alex
    > Скрипт хороший.
    > …
    > Спасибо Вам!
    Вам также спасибо за лестную оценку.

    Я понял Вашу идею, однако так скрипт не настраивается. Его разве что можно только переделать по новому, что не хотелось бы, по крайней мере сейчас. Но я подумаю над реализацией этого в будущем. Ну а пока, для такого эффекта можно использовать Highslide.

  14. В MSIE версии 5 не работает и выскакивает окно ошибки (тестировалось с помощью IEtester), а также в старой Опере глючит.

    Неплохо бы предусмотреть проверку версии браузера, или что-то подобное, и в таких случаях блокировать выполнение lightgallery.

    А так, все очень хорошо. Спасибо за интересный скрипт.

  15. @Андрей
    Спасибо, обязательно учту.

  16. Спасибо за ответ. Заодно, еще такой вопрос.

    Если, по какой-то причине увеличенная картинка не загрузилась или долго грузится, то окно нечем закрыть. Нельзя ли сделать так, чтобы сначала появлялась кнопочка “закрыть”, а потом начиналась загрузка изображения?

    P.S. В предыдущем сообщении, я имел в виду конечно MSIE 5.5

  17. @Андрей
    Да, конечно, кнопочку надо сделать. А пока закрывать можно при помощи клавиши ESC.

  18. Простите за назойливость, но думаю очередное замечание пойдет только на пользу.

    Что будет, если LightGallery на страницу подключена, а фотографий, самой галереи на ней по какой-то причине нет? Например, еще не установлены, или добавляются и удаляются посетителями, как на форуме, к примеру.

    В таком случае будет ошибка JS. Я проверил.

    Думаю, нужна блокировка подобной ситуации.

  19. @Андрей
    Нет, что Вы, какая там назойливость. Наоборот, Ваше замечание это плюс. Я добавлю этот баг в TODO лист.

  20. Замечательный скрипт, ОГРОМНОЕ Спасибо создателю! Буду использовать на своем сайте.

  21. Собираетесь ли вы сделать так, чтобы изображение оставалось посреди экрана?
    Опять же, как тут – http://www.stickmanlabs.com/lightwindow.
    Было б очень удобно.

  22. @Nemesis
    > Собираетесь ли вы сделать так, чтобы изображение оставалось посреди экрана?
    Нет, так делать не собираюсь. Честно говоря, не вижу в этом никакого смысла. Экран ведь затемняется, и я думаю никто не станет просматривать страницу в то время, когда отображается галерея.

  23. Еще вопрос, у меня при просмотре галереи, помимо бокового, появляется нижний слайдбар. Это можно обойти?

  24. @Nemesis
    Нет, нельзя, это по всей видимости небольшой баг. Скорее всего не верно определяется ширина страницы и когда появляется оверлей, то ширина у него несколько больше, чем ширина страницы. Отсюда и нижний скроллбар.

  25. [...] теперь используется замечательный скрипт lightgallery. Приветствуются комментарии по юзабельности того, что [...]

  26. Я знаю почему появляется нижний скроллбар, FireFox считает ширину экрана вместе с боковым скроллбаром, получается, что бэкграунд выходит за рамки. В то время как, например, в IE вычисление ширины ведется с вычитанием ширины скроллбара.
    А почему нельзя исправить?
    Ведь можно (специально для Мозиллы прописать это вручную) из общей ширины вычесть ширину бокового скроллбара.

  27. @Nemesis
    Да почему же нельзя исправить… Очень даже можно, я планирую исправить все найденные доселе баги и внести новые возможности в следующую версия. Я рассчитываю сделать это в течение месяца.

  28. Ок. Буду рад, если это будет исправлено. Конечно, это ни коем образом не вредит, но глаза мозолит. Спасибо! :)

  29. Здравствуйте! Обнаружил небольшой “баг”: в 86-й строке (this.loaderImage = ce(’img’,{src:”});) создается пустое изображение, но т.к. src у него равно пустой строке, некоторые браузеры (например FF) отправляют запрос на повторную загрузку текущего документа. На пользователе это никак не сказывается, но если страница использует какие-нибудь изменяющиеся переменные в сессии (каптча и т.п.), то этот запрос изменит состояние такой переменной. Но при этом то, что видит пользователь (изображение каптчи, etc) не изменится, что в итоге приводит к непонятным ошибкам.
    Предлагаю внести следующее исправление в строку 86:
    this.loaderImage = ce(’img’,{src:’javascript:void(0)’});
    таким образом ничего загружаться не будет.

  30. @Иван
    Спасибо Вам за замечание.
    Честно говоря не знал, что FF отправляет запрос на повторную загрузку при пустом src в изображениях. Я постараюсь разобраться.

  31. Отличный скрипт галереи, fancybox отдыхает.

  32. Обнаружил еще одну ошибку: при масштабировании картинки, в случае когда высота окна браузера превышает его ширину, в скрипте неправильная формула пропорции.
    Строка 240: pHeight = Math.floor((pWidth = wScr – dx – padding) * dim_pic);
    здесь должно быть деление на dim_pic. В противном случае наблюдается искажение картинки.

  33. Отличная галерея!
    А есть возможность сделать, чтобы при наведении мышью на картинку, она плавно слегка растягивалась (всплывала вперед до щелчка мышью по ней)

  34. Приветствую! интересует возможность отрезать(отбрасывать, игнорировать) определенный кусок пути в ссылки, к примеру все пути вида: “/full.php?img=/put/folder/2/this_image.png” — они должны работать на тот редкий случай когда js отключен, а в остальном брать только так: “/put/folder/2/this_image.png” т.е. кусок “/full.php?img=” или подобное, скрипт должен игнорировать, это реализуемо в данном случае?

    P.S. Спасибо, =)

  35. @Vitaly
    Да, это реализуемо, только вручную изменять код прийдется. Надо добавить фильтрацию URL по регулярным выражениям в init(), там где происходит их получение из страницы. Регулярку написать так, чтобы в качестве урл-а записывался параметр img.

  36. Ясно, а возможно ли добавление подобной фичи в последующие версии скрипта, опционально, и определенно с отрезанием ненужного куска урла, а то ссылки бывают разные, не всегда с параметром?

  37. @Vitaly
    Спасибо Вам за замечания и пожелания, но честно говоря сомневаюсь что такая фича действительно нужна большинству пользователей. Однако, я все же подумаю над каким-нибудь фильтром.

  38. @Vitaly
    Только что набросал то, как я себе это представляю. Вот что у меня получилось:
    lightgallery.init({
    urlFilter:/img=(http:\/\/[a-z\d\.\/]+jpg)$/
    });
    Это мы указываем в качестве фильтра регулярное выражение, в котором обязательно должна быть выделенная скобками область, которую нужно извлечь.
    А это функция:
    filter : function(uri){
    if (this.options.urlFilter instanceof RegExp){
    var m = uri.match(this.options.urlFilter);
    return (m && m[1]) ? m[1] : ”;
    }
    return uri;
    }
    Файл скрипта можете скачать здесь или в SVN.
    Буду признателен за замечания.

  39. Здравствуйте,поставил скрипт,все работает))))спасибо)шикарно)

    но есть одна проблемка у меня при повторном просмотре одного и того же изображения,почемут скрипт зависает…и не грузит фото…скажите,что сделать(?

  40. @Markeli4
    Мне нужно как-то воспроизвести баг, о котором вы говорите. Демо скрипт к примеру не зависает. Можете вы показать пример вашей страницы?

  41. вот сайт)он пустой пока)
    пройдите в раздел фотоотчеты и попробуйте 2 раза просмотреть одну и ту же фотку)

  42. people-onparty .ru

  43. забыл сказать,что не работает в opera)

  44. Здравствуйте! Скрипт просто замечательный! Вот только вопрос: можно ли сделать галлерею (на основе этого скрипта), которая бедет запускаться с флэш-страницы.
    Спасибо заранее за ответ!

  45. @Анатолий
    Честно говоря сомневаюсь, что можно.

  46. @Markeli4
    Проблема, которую вы описываете, существует в старых версиях оперы. Там событие onload не вызывается для тех изображений, которые уже загружены. В новой опере (у меня стоит 9.5) такой баг не наблюдается.

  47. Замечательный скрипт!
    Гармоничное сочетание простоты и функциональности…
    Автору огромное СПАСИБО!

  48. Очень красивый скрипт, и устанавливается легко, спасибо ОГРОМНОЕ!

  49. при любом значении прозрачность не меняется, как поменять???????????
    /*************************
    #LG_overlay{
    position:absolute;
    top:0;
    left:0;
    z-index:100;
    width:100%;
    height:100%;
    display:none;
    background:#fff url(owerlay.gif);
    filter:progid:DXImageTransform.Microsoft.Alpha(opacity=20);
    -moz-opacity: 0.5;
    -khtml-opacity: 0.5;
    opacity: 0.5;
    }
    **********************/

  50. @Михаил
    Прозрачность плавно изменяется из скрипта – там эффект fade in используется:
    fadeIn(G.overlay, 0, 85, 9);
    Нужно найти эту строку и поставьте вместо 85 свое значение прозрачности.

  51. Привет. Неплохой скрипт.
    С параметром enableZoom скрипт фиснет:

    window.onload = function(){
    lightgallery.init({
    enableZoom:false, //Ошибка
    });
    }

    И еще одно, мне нужно сделать, чтобы вверху блока отображалось не “Изображение 2 из 4″, 1 2 3 4 5 и текущее изображение (номер) выделялся. Не подскажешь где и от чего отталкиваться?

  52. Вот так точнее:

    window.onload = function(){
    lightgallery.init({
    enableZoom:false //Ошибка
    });
    }

  53. @Sirius
    Интересная ошибка. Спасибо Вам за замечание. Что касается отображения номера страницы, то это нужно в скрипте исправить, в строке 386:
    G.imgIndex.innerHTML = lng.image+" "+(index+1)+" "+lng.of+" "+gallery.length;
    Здесь 2 параметра – index+1 это номер текущего изображения, gallery.length это количество изображений. На их основе можно сделать такой пагинатор, как вам нужно.
    Просмотреть фотку можно используя ф-ию show():
    G.show(1);
    Заметьте, что они чередуются с нуля.
    Если что, спрашивайте, помогу.

  54. Я так понял, что просто всем номерам изображений присваиваем обработчик onclick=”javascript: show(img_id);”?
    Этот параметр (img_id) нужно куда-то передавать или сработает и так (я так понял, что скрипт на основе jquery – если так, то должно сработать как я написал)?
    я все верно пишу или нет? = )

  55. Нет, скрипт не зависит от сторонних библиотек.
    Каждому изображению присваивается обработчик showImage, а он уже сам определяет, если это галерея изображений, то выполняется show с индексом изображения, если одиночные изображения, то showSingle.

  56. Вот, пишу так:
    ‘+ii+’
    – все выводит как мне но при клике изображение не показывается.
    Говорит, что showImage не определена.

  57. [a href="#" onclick="showImage(ii);"]‘+ii+’[/a]

  58. Тут нужно объект указывать, а не только саму функцию. Я к примеру сделал так, у меня получилось:
    G.imgIndex.innerHTML = ”, txt = ”;
    for (var i=0; i < gallery.length; i++) {
    txt = (i == index) ? ('<b>‘+(i+1)+’</b>’) : i+1;
    G.imgIndex.innerHTML += ‘<span onclick=”lightgallery.show(’+i+’)”>’+txt+’</span>’;
    }

  59. Спасибо, я уже разобрался – туплю, просто сильно привык к PHP.

  60. @Donate
    > Привет.
    > Классный скрипт.
    > У меня вопрос: как запустить галерею по нажатию на текстовую ссылку?
    В данный момент скрипт работает по ссылкам, совсем не важно, что внутри нее – текст или изображение. Т.е. делайте так:
    <a href=”….” rel=”lightgallery”>текст</a>

  61. привет.
    Как сделать так, чтобы изображение сразу выводилось реального размера, а не по размеру экрана?

  62. @Sirius
    Увы, пока что такая возможность не предусмотрена. Разве что можно вручную переписать кое-что.

  63. Понятное дело, что самому.
    Подскажи, пожалуйста, где конкретнее искать я разберусь.

  64. В общем, в функции init, там где изображению присваивается обработчик onload есть строка:
    G.setContPos();
    Достаточно вызвать эту функцию с параметром true и изображения будут отображаться в полный размер (с возможностью уменьшить их – кнопка вверху будет присутствовать).
    Это хорошая идея сделать такой параметр, поэтому я сразу же добавил его (называется fullSize) и сохранил в свн. Рабочий скрипт вы также можете скачать здесь: http://jstoolbox.com/download/lightgallery-1.2alpha2.js
    Спасибо вам большое за замечания. Кстати, ошибку с enableZoom я тоже исправил.

  65. Я уже наверное надоел, но есть вопрос:
    поставил скрипт на сайт (текущий проект), но у меня не отображается гифка прелоада картинки. Посмотри, пожалуйста, а-то я уже не знаю, что я наделал – http://sirius.startweb.in/adventure.php = )

  66. Ок, я обязательно посмотрю.

  67. @Sirius
    Я в восторге, галерея у вас получилась просто превосходная.
    Теперь о деле :)
    Все дело в наследовании. Вы поставили для #LG_container значение background и оно “перекрывает” соответствующее значение класса LG_loading. В общем, для LG_container должно быть именно так:
    background-color:#fff;
    background-position:center;
    background-repeat:no-repeat;
    Если что не так, пишите мне прямо на email: ischenkodv_at_gmail.com

  68. Спасибо, так и знал, что затупил в такой мелочи. = )
    >галерея у вас получилась просто превосходная.
    Это тебе спасибо, я лишь дописал немного, но заслуга целиком и полностью твоя.
    Пришлось по отключать функции масштабирования по просьбе заказчика.
    Кстати, не мешало бы еще добавить следующие функции:
    -отображать значек закрытия, пока грузится изображение,
    -закрывать просмотрщик при клике на правую часть изображения, если изображение последнее в галерее,
    -более гибкую настраиваемость, о чем мы говорили выше,
    -немного расширить функционал и сделать так, чтобы можно было просматривать не только изображения.

  69. Спасибо за прекрасный скрипт.
    Можно ли уго как-то заставить обрабатывать ссылки из изображений-карт , когда href не внутри тега , а внутри ?

  70. Спасибо за прекрасный скрипт.
    Можно ли уго как-то заставить обрабатывать ссылки из изображений-карт map, когда href не внутри тега a, а внутри area?

  71. Обнаружил один баг. В случае, если ширина изображения превышает ширину окна браузера – изображение не уменьшается по горизонтали, а растягивается по вертикали. Одинаково в О, ФФ, ИЕ.

  72. Иван правду говорил:
    Строка 240:
    pHeight = Math.floor((pWidth = wScr – dx – padding) * dim_pic);
    заменить на:
    pHeight = Math.floor((pWidth = wScr – dx – padding)/dim_pic);
    - в этом случае пропорции сохраняются

  73. @Idalgo
    Спасибо, все никак не найду времени зарелизить изменения.

  74. Еще два момента:
    - если изображение отсутствует, то ico-loading крутится и ничего не происходит. Хотелось, чтобы как-то обрабатывались отсутствующие картинки.
    - похоже не все слова можно использовать в качестве индекса массива lightgallery[]. У меня были проблемы со словами ‘other’ и ’some’

  75. Скрипт супер.
    Но если у меня на главной выводится рандомным образом одна картинка из папки, то все остальные через галерею нельзя посмотреть.
    Не подскажите что где пофиксить чтобы жестко указать папку с изображениями? Спасибо.

  76. @ixvil
    Фиксить надо в функции init, там идет выбор ссылок с rel=”stylesheet”, вместо этого вставьте процедуру выбора фотографий из конкретной папки.

  77. // get images
    var imgs = document.getElementsByTagName(’a'),
    regx = new RegExp(’^'+options.alias+’\\[([a-zA-Z]+)\\]|’+options.alias+’$'),
    r; // variable to hold RegEx matches

    // filter images that match specified RegEx expression
    for (var i=0; i<imgs.length; i++) {
    if(imgs[i].rel && (r = imgs[i].rel.match(regx))){
    addEvent(imgs[i],’click’, G.showImage);
    if(r = r[1]){
    imgs[i].__gallery__ = r;
    if(!images[r])
    images[r] = [];

    imgs[i].__index__ = images[r].push(imgs[i]) – 1;
    }
    }
    }

    Я так понял гдето здесь, да?
    Каким образом, не подскажите?
    Заранее спасибо))

  78. Хотя я ошибся, ссылки обязаетльно должны присутствовать в скрипте (((. Проще всего ничего не изменять в скрипте, а просто добавить невидимые ссылки которые указывают на все фотографии из папки, скрипт их все-равно подхватит:
    <a href=”image1.jpg”>image 1</a>
    <a href=”image2.jpg” style=”display:none”></a>
    … ну и так далее.

  79. да, у меня тоже была такая идея. Но смысл в том что на главной 2 картинки выбранные рандомом из папки. а папка будет постоянно пополняться или удаляться будут фотографии. есть идея генерировать список всех файлов через вот такие невидимые ссылки посредством php. но тут тоже мини камень будет – фотографии будут повторяться – те которые рандомом показаны будут продублированы в списке. Может быть есть еще какиенить идеи?))

  80. Скрипту все равно, повторяются изображения или нет. он все равно их покажет. Если не нужно чтобы рандомные изображения далее повторялись в галерее, то можно ведь не выводить их, проверять из пхп.

  81. Сделал)) спасибо за помощь).
    пхпшкой вытащил список и наделал ссылок))
    Еще раз скрипт – супер ))

  82. прикольная штука, только кнопки prev и next не изменяются на русские при подключении русского языка
    и внизу страницы почему-то нету описания – он берется из какого-то одного тега или может загружаться из разных

  83. Кнопки prev и next это изображения, можно заменить на что-нибудь другое. А описание берется из атрибута title ссылки.

  84. а почему оно может не загружаться?
    я юзаю firefox

  85. кстати я вот пытался запустить галерею одной ссылкой на странице, но додумался только поместить все ссылки в блок
    и только одну запускающую сделать видимой, но это не очень здорово, хотя бы потому что увеличивает высоту страницы

    короче можно ли из одной ссылки на странице запускать галерею с изображениями из папки, передаваемой в параметре ссылки?

  86. блин html не отобразился – в блок div с тегом hidden

  87. Запускать изображения из папки нельзя. Сделать часть ссылок невидимыми это самое нормальное решение. Если вы делаете div невидимым, то надо это делать так:
    <div style=”display:none”>….</div>
    В этом случае высота страницы не изменяется, и этот блок никак не влияет на вид страницы.

  88. с тегом visibility:hidden ссылки прятались, а с display:none – все почему-то отображается!!!

  89. извиняюсь глюк – работает спасибо!!!

  90. а вот описание из атрибута title ссылки не подгружается. я уже пробовал и по-русски и по-английски писать – не канает.

  91. я еще попытался поменять псевдоним чтобы использовать вместо встроенного в danneo 0.5.3 lightboxa, но почему-то тоже не заработало

    alias:\”lightBox\”;

  92. @schel4ok
    Не знаю, что вы делаете не так, но в демо примере ведь работает title. То же касается и alias – замените в демо примере все rel=”lightgallery” на rel=”lightBox” и все будет работать. Если что, вышлите ссылку, если ваше приложение есть в инете.

  93. вот мой сайт. сейчас поставил alias:\”lightBox\”;
    вот тут пытался запустить галерею одной ссылкой на странице, где только одну запускающую сделать видимой http://stendart.net/article/read/Stekljannye_dveri_i_peregorodki.html
    если закомментировать alias:\”lightBox\”; и поменять ссылки с rel=”lightBox[singledoors]” на rel=”lightgallery[singledoors]”, тогда будет работать

    ну и в фотогалерее можно увидеть что все-таки работает штатный lightBox – он почему-то не ресайзит большие картинки http://stendart.net/photos/image-231.html

  94. у вас есть какие-нибудь мысли или мне менять на lightgallery?

  95. @schel4ok
    Извините за задержку. Не было времени ответить. У вас на странице ошибка, оттого не работает.
    missing } after property list
    [Break on this error] alias:”lightBox”;\n

    Точка с запятой вызывает ошибку. Кстати у вас на странице также подключен lightbox – именно он показывает картинку, а не lightgallery (я про эту страницу http://stendart.net/photos/image-231.html). То же касается и главной.

  96. ну ведь строки должны же заканчиваться точкой с запятой?
    и еще я помню, что сначала не поставил её и у меня просто белая страница была

  97. @schel4ok
    Параметры передаются в объекте, там точки с запятой не должно быть, а если несколько параметров, то они разделяются запятой: lightgallery.init( { alias : “lightBox” } );

  98. убрал точку с запятой. как-то странно одиночная картинка заработала
    а вот галерея – нет. да и лайтбокс все равно старый запускается – или его надо предварительно удалить чтобы lightgallery вместо него заработала?

  99. обсуждал lightgallery на форуме даннео – вот что ответил местный админ

    У lightgallery один весомый минус, пока не загрузится ВСЯ страница он не инициализируется. Если в коде страницы где то есть удалённые изображения или коды баннеров с сайтов в дауне или перегруженных. Это начисто убивает всю идею.

  100. @schel4ok
    Ну и причем здесь lightgallery? Скрипт задумывался как lightbox без зависимостей, а то как галерею инициализировать это уже дело программиста. Можно назначать вызов инициализации в onload, как я это делаю в своем демо примере, а можно и по загрузке dom – например добавить вызов в самый конец страницы либо использовать функцию domReady ( пример такой функции http://www.jstoolbox.com/skripty/dom/proverka-zagruzki-dom/ ).

  101. Заметил такую деталь. Имя галлереи не должно содержать символа “_” (подчеркивание), иначе скрипт не работает.
    И еще вопрос. Можно ли выставлять ограничение на допустимый масштаб увеличения/уменьшения?

  102. @OlegD
    Спасибо за замечание, проверю.
    Насчет масштаба – возможности ограничивать допустимый масштаб нет, я подумаю над тем, чтобы это сделать в следующий релиз.

  103. В вышедшем недавно IE8 обнаружились баги. В работающей галерее, если поочередно нажимать на превьюшки, через какое-то время увеличенные изорбажения перестают появляться, вместо них пустое белое поле. Проблема решается нажатием кнопок “вперед” и “назад”, но это не есть хорошо.

  104. Вышеописанный баг устраняется установкой fadeImage=false. Что тоже не есть хорошо.

  105. Дякую за код. Пригодилось. Вагому роль відіграло те, скрипт компактний і не залежить від інших бібліотек (jQuery, MooTools, тощо).

  106. Подскажите пожалуста, как открыть просмотр галереи на всё окно браузера из ифрейма. И ещё один вопрос. Можно ли подгрузить новую галереюпри при помощи Ajax? Я пробывал, картинки открываются как ссылки на изображения, может быть их необходимо инициализировать вывзовом какой либо функции?

  107. @Михаил
    Насчет ифрейма не могу подсказать, не пробовал. Что касается аякса, то после подгрузки новой галереи нужно вызвать функцию lightgallery.init().

  108. Спасибо за замечательный скрипт!

    Обнаружил баг: если картинки (theme) сложить в свою папочку, и поисправлять соответственно пути к ним в css – то все работает хорошо кроме кнопо “Next” и “Prev”. Они просто не отображаются. При этом кликабельная арея функционирует :)

    + отправил свою темку по мылу. Будет желаение – выложите у себя для скачивания.

  109. @Bit
    Больше спасибо! Отличный скин, мне понравился. Обязательно вложу его в проект.

  110. я уже как-то писал о том, что у меня при открытии картинки в лайтгаллери не подгружается описание картинки из тега титл ссылки

    после этого я пробовал использовать highslide – с ним была та же самая проблема, но там можно самому в настройках скрипта задать, что именно посылать в текст описания картинки перебор разных атрибутов тегов a и img показал, что атрибут title ссылки и атрибут alt картинки крадутся функцией tooltip, но вот атрибут title картинки совершенно спокойно выводится

    так что советую сделать такую настройку в скрипте – думаю не будет лишней

  111. Добрый день. Скрипт отличный, спасибо за него! Но есть одно “но”.

    У меня он не работает в Мозилле и Опере. В “экспроулере” идёт нормально, что удивительно Оо.

    Подскажите где искать, в чём может быть проблема. Спасибо

  112. Да, странно. В первую очередь надо посмотреть в Firebug в Мозилле и консоль ошибок в Опере. Показывает ли какие-либо ошибки?

  113. Уже работает. Проблема была в другом. Галерею вызывал через , а это событие в мозилле и опере не цепляется просто так. обошел другим путём (:

    Спасибо, галерея отличная!(:

  114. Привет. Хороший скрипт. Уже стоит и работает. ))) Но есть небольшой “косяк”: если пользователь щелкнет на превьшке, в то время, пока грузятся остальные (не у всех еще интернет скоростной), то скрипт не срабатывает, и фотография открывается отдельным документом (по умолчанию). Как это лечится? ))

  115. Я пока не знаю, как это лечится. Сегодня же попробую воссоздать и исправить этот баг. Спасибо за замечание.

  116. Все дело в том, что вызов init() для галереи вызывается при событии onload, а оно возникает после того, как все картинки на странице загрузятся (даже если загрузка самой страницы уже завершено). Нужно использовать событие ondomready которое есть в jquery, mootools и др., либо использовать вот этот скрипт: http://www.thefutureoftheweb.com/blog/adddomloadevent
    Добавляете эту функцию, и вместо window.onload = function(){ …. } делаете:
    addDOMLoadEvent(function() {
    lightgallery.init();
    });

  117. Ок. Спасибо, попробую… ))

  118. Здравствуйте. Скрипт с функцией скачал. А дальше что и куда? Простите за несообразительность… ))

  119. Я как раз сегодня сделал это и выложил в svn. Скачайте это скрипт (или lightgallery.min.js): http://code.google.com/p/lightgallery/source/browse/trunk/lightgallery/lightgallery.js
    Потом вместо:
    window.onload = function(){
    lightgallery.init();
    }
    вот это:
    lightgallery.init();
    Можете посмотреть пример: http://code.google.com/p/lightgallery/source/browse/trunk/demo.html
    Пока что протестировал IE8, FF, Chrome, Opera. Думаю в остальных тоже будет работать. Если что, пишите.

  120. Здравствуйте. Установил новую версию лайт-галереи. Всё работает так как надо. Правда с ИЕ(8) есть косяк: при загрузке фотографии контейнер сразу растягивается на весь экран по горизонтали, фотография на нем находится слева. По вертикали всё работет нормально. Кнопки на своих местах. http://www.alex-shelehov.ru/php/gallery.php?fold=0 Проверьте пожалуйста, может косяк только у меня.

  121. P.S.: Попросил друзей потестить, у одного из 3-х такая же беда. (( У всех 8-й ИЕ.

  122. Спасибо, я тоже потестирую у себя.

  123. @alex
    Мне кажется, я нашел в чем проблема, закомитил изменения. Попробуйте вновь скачать из SVN, если проблема появится вновь, подключите файл lightgallery.js вместо сжатого, чтобы я имел возможность выполнить отладку.
    Заранее благодарю.

  124. А в чем была проблема. Нельзя ли по-подробнее.

    Дело в том, что это на вышеуказанном сайте такая проблема. Точно, в IE8 – контейнер слева. А вот на моем сайте – нормально, как полагается по центру.

  125. @Андрей
    Да, я заметил, что это именно на том сайте проблема. У меня к примеру демо нормально открыавется. Я немного изменил процедуру подсчета минимального размера окна при открытии галереи, считаю что проблема в этом.

  126. Здравстуйте. Залил последнюю версию скрипта. Пока всё и везде работает. )) (тук тук тук по дереву). Большое спасибо за помощь!!!!!!

  127. Большое спасибо!!! Замечательно все работает, успехов Вам:))

  128. Подскажите, как можно обработать ссылки из изображений-карт map, когда href не внутри тега a, а внутри area?

  129. @areshetnikov
    К сожалению, пока никак. Скрипт заточен под конкретную маркировку, т.е. ищет только ссылки. Но можно самостоятельно исходники исправить (функция init), чтобы он area просматривал.

  130. Спасибо, намного лучший(легчий) вариант, чем lightbox, удобно, просто, функциоально.

  131. Здравствуйте, скрипт отличный, спасибо огромное.
    Для всех у кого есть проблема с горизонтальным скролом , ее можно решить через css , для того необходимо для #LG_overlay в стилях прописать width:100% !important; вместо width:100%; как стоит в данный момент

  132. И все же было бы круто если не надо было бы на странице выводить все ссылки на фото (и потом их скрывать), а скрипт сам бы считывал при просмотре галлереи все изображения в заданной дирректории

Оставить комментарий

JSToolbox создан на основе WordPress