<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>jQuery и другое... &#187; lightbox</title>
	<atom:link href="http://www.linkexchanger.su/tag/lightbox/feed" rel="self" type="application/rss+xml" />
	<link>http://www.linkexchanger.su</link>
	<description>css, html, php, javascript, jQuery, ajax ... - решения, примеры, рецепты</description>
	<lastBuildDate>Sun, 08 Jan 2012 13:25:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Галерея LightBox и ее клоны</title>
		<link>http://www.linkexchanger.su/2009/112.html</link>
		<comments>http://www.linkexchanger.su/2009/112.html#comments</comments>
		<pubDate>Fri, 27 Nov 2009 06:37:29 +0000</pubDate>
		<dc:creator>Gennady</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[lightbox]]></category>
		<category><![CDATA[фотогалерея]]></category>

		<guid isPermaLink="false">http://www.linkexchanger.su/2009/112.html</guid>
		<description><![CDATA[Почему решил написать этот обзор? Во-первых, предыдущая статья про LightBox безнадежно устарела. Во-вторых, мне LightBox нравится. Правда было время, когда разработчики плагина убирали оттуда поддержку ie6, но потом, видимо одумавшись, вернули ее. В общем, всем хорош плагин LightBox, но вот заточен он только под фото. А если приперло вывести видео с YouTube или вообще какой-нибудь [...]]]></description>
			<content:encoded><![CDATA[<p>Почему решил написать этот обзор? Во-первых, предыдущая <a href="http://www.linkexchanger.su/2008/65.html">статья про LightBox</a> безнадежно устарела. Во-вторых, мне LightBox нравится. Правда было время, когда разработчики плагина убирали оттуда поддержку ie6, но потом, видимо одумавшись, вернули ее. В общем, всем хорош плагин LightBox, но вот заточен он только под фото. А если приперло вывести видео с YouTube или вообще какой-нибудь контент в iframe? Да, да, знаю, есть <a href="http://www.linkexchanger.su/2008/66.html">галерея FancyBox</a>, сам пользуюсь, но LightBox все равно больше нравится. Поэтому и было решено покопаться среди многочисленных клонов галереи LightBox.<span id="more-112"></span></p>
<h3>Галерея LightBox</h3>
<p>Начинаем, так сказать, с первоисточника и сразу же смотрим <a href="http://www.linkexchanger.su/examples_2009/galleries/lightBox/demo.html" target="_blank">демо</a>, замечая при этом нюансы, чтобы потом сравнить с другими галереями.</p>
<p>Ясно, что для использования плагина нужно подключить к веб-странице файл библиотеки jquery-1.3.2.js, файл плагина jquery.lightbox.js и файл стилевого оформления плагина jquery.lightbox.css. Не забудьте, что в папке images полученного архива, хранятся изображения элементов управления, необходимые для работы плагина.</p>
<pre class="brush: xml;">&lt;link type=&quot;text/css&quot; href=&quot;js/jquery.lightbox.css&quot; rel=&quot;stylesheet&quot; /&gt;
&lt;script src=&quot;js/jquery-1.3.2.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;js/jquery.lightbox.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</pre>
<p>Теперь о том, как собственно организовать галерею. Естественно понадобятся изображения из которых будет состоять галерея &#8211; миниатюры и соответствующие им полноразмерные изображения. Общая конструкция такая:</p>
<pre class="brush: xml;">&lt;a rel=&quot;lightbox&quot; href=&quot;images/large.jpg&quot; title=&quot;Какой-то текст&quot;&gt;
&lt;img src=&quot;images/small.jpg&quot; /&gt;
&lt;/a&gt;</pre>
<p>Картинка-миниатюра заключена в тэг а, атрибут href которого указывает на соответствующее полноразмерное изображение. В атрибуте rel содержится ключевое слово &#8211; lightbox. Такого кода достаточно, чтобы при клике по миниатюре в отдельном слое открылось большое (именно большое, потому что по умолчанию оно масштабируется, если не помещается в области просмотра) изображение. Текст, содержащийся в атрибуте title тэга a станет комментарием к открывшемуся изображению.</p>
<p>В рассмотренном примере функциональность плагина применена к отдельному изображению, а нам нужно сделать тоже самое для группы. Смотрим следующую разметку:</p>
<pre class="brush: xml;">&lt;a rel=&quot;lightbox-tour&quot; href=&quot;images/large.jpg&quot; title=&quot;Какой-то текст&quot;&gt;
&lt;img src=&quot;images/small.jpg&quot; /&gt;
&lt;/a&gt;</pre>
<p>К ключевому слову lightbox просто добавили произвольный суффикс, в данном случае -tour. Добавляйте какое-то количество таких конструкций в свой код, назначайте им одинаковый суффикс и плагин автоматически объединит изображения в группы. Естественно, в этом случае, кроме комментариев, которые также будут создаваться из содержимого атрибута title, появятся элементы управления для перемещения по галерее.</p>
<p>Если по каким-то причинам Вам нежелательно использовать атрибут rel, можно обойтись и без него. Создать галерею можно используя простой jQuery-код.</p>
<pre class="brush: jscript;">$(function(){
  $('a.gallery').lightbox();
});</pre>
<p>Если этот код использовать с приведенной ниже разметкой, то все элементы а, имеющие класс gallery, получат функциональность плагина, и атрибут rel тут не потребуется.</p>
<pre class="brush: xml;">&lt;a class=&quot;gallery&quot; href=&quot;images/large.jpg&quot; title=&quot;Какой-то текст&quot;&gt;
&lt;img src=&quot;images/small.jpg&quot; /&gt;
&lt;/a&gt;</pre>
<p>Плагин LightBox имеет некоторое количество пользовательских настроек, с помощью которых можно переопределить поведение по умолчанию. Обычно jQuery-плагины принимают такие настройки в виде объекта, передаваемого методу в качестве аргумента. Здесь дело обстоит несколько иначе &#8211; для настройки вызывается отдельный метод. Ниже приведен пример кода, который создаст галерею из изображений, заключенных в тэг а с классом gallery и передаст плагину некоторые настройки.</p>
<pre class="brush: jscript;">$(function(){
  $(&quot;a.gallery&quot;).lightbox();
  $.Lightbox.construct({
    text: {
      image: &quot;Фото&quot;,
      of: &quot;из&quot;
    },
    download_link: false,
    opacity: 0.5,
    show_linkback: false
  });
});</pre>
<p>Кстати, помимо использования $.Lightbox.construct(); есть другая возможность передать настройки &#8211; в строке запроса. Примерно так:</p>
<pre class="brush: xml;">&lt;script src=&quot;js/jquery.lightbox.js?show_linkback=false&amp;amp;text.image=Фото&amp;amp;text.of=из&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</pre>
<blockquote><p><strong>ПРИМЕЧАНИЕ:</strong> В плагине подразумевается поддержка IE6 и она включена по умолчанию. Для IE6 передача параметров возможна только в строке запроса (остальные браузеры тоже понимают такой способ). Если попытаться использовать $.Lightbox.construct(); то в IE плагин перестает работать. По крайней мере у меня не получилось.</p></blockquote>
<p>Ну а теперь немного о возможных опциях, которые можно использовать для настройки LightBox.</p>
<p><strong>show_linkback</strong> &#8211; по умолчанию true, показывает ссылку на страницу плагина на сайте plugins.jquery.com в правом верхнем углу. Передаем false, чтобы скрыть ссылку.<br />
<strong>show_helper_text</strong> &#8211; по умолчанию true, показывает текст (Click to close) в правом верхнем углу и всплывающую подсказку (Hover to interact) при наведении указателя мыши на этот текст. Используем false, чтобы убрать текст (и подсказку естественно тоже).<br />
<strong>show_info</strong> &#8211; по умолчанию &#8216;auto&#8217;, показывает информацию (текст, содержащийся в атрибуте title) под открывшимся изображением только в том случае, если указатель мыши находится над изображением. Чтобы показывать эту информацию независимо от положения указателя мыши используем значение true.<br />
<strong>show_extended_info</strong> &#8211; по умолчанию &#8216;auto&#8217;, показывает дополнительную информацию (Image 1 of nn) при указатель мыши прошел над область, где показывается основная информация (текст, содержащийся в атрибуте title). Чтобы показывать эту информацию независимо от положения указателя мыши используем значение true.<br />
<strong>download_link</strong> &#8211; по умолчанию true, предоставляет возможность открыть полноразмерное изображение в новом окне (вкладке) браузера, воспользовавшись ссылкой, которой является текст комментария к изображению (текст, содержащийся в атрибуте title). Чтобы запретить использование этой возможности, надо передать false.<br />
<strong>auto_resize</strong> &#8211; по умолчанию true, автоматически изменяет размеры картинки, если она слишком большая и не вписывается в область просмотра. Необходимо передать false, чтобы отменить это поведение.<br />
<strong>ie6_support</strong> &#8211; по умолчанию true, включена поддержка IE6. Чтобы отключить ее, надо передать false.<br />
<strong>ie6_upgrade</strong> &#8211; по умолчанию true, показывает сообщение, призывающее пользователей IE6 проапгрейдить свое ПО (у меня почему-то не сработало).<br />
<strong>speed</strong> &#8211; число, определяющее количество миллисекунд, которые отводятся на переход между двумя изображениями. По умолчанию установлено 400.<br />
<strong>baseurl</strong> &#8211; по умолчанию null, но можно указать url для автоматического подключения файлов, которые использует скрипт (стили, картинки).<br />
<strong>files</strong> &#8211; объект, в свойствах которого можно передать местоположение требуемых файлов (используется, если названия файлов менялись). Можно использовать следующие свойства: js.lightbox, js.colorBlend, css.lightbox, images.prev, images.next, images.blank, images.loading.<br />
<strong>text</strong> &#8211; объект, в свойствах которого можно передать текст частей интерфейса. Используется для перевода на нужный язык. Можно использовать следующие свойства: image, of, close, closeInfo, download, help.close, help.interact, about.text, about.title, about.link.<br />
<strong>keys</strong> &#8211; объект, в свойствах которого можно определить &laquo;горячие клавиши&raquo; для перемещения по галерее вперед и назад, а также для закрытия галереи. Используются свойства close, prev, next.<br />
<strong>opacity</strong> &#8211; прозрачность слоя, который появляется при просмотре галереи между большими изображениями и основным содержимым страницы. Значение может изменяться от 0 до 1. По умолчанию используется значение 0.9.<br />
<strong>padding</strong> &#8211; по умолчанию null, но можно указать число, которое будет определять отступы вокруг просматриваемого изображения.<br />
<strong>rel</strong> &#8211; по умолчанию &#8216;lightbox&#8217;, определяет значение в атрибуте rel тега а (см. пример html-разметки), исходя из которого плагин автоматически формирует галереи. Можно передать строку, в которой определить любое удобное значение.<br />
<strong>auto_relify</strong> &#8211; по умолчанию true, плагин должен автоматически искать и формировать галереи. Чтобы отменить такое поведение следует передать значение false.</p>
<blockquote><p><strong>Выводы:</strong> Плюсы &#8211; неплохое оформление, большинство опций действительно полезны. Минусы &#8211; сложности с настройкой плагина с учетом поддержки IE6, не все опции удается использовать так, как заявлено разработчиком, не работает ни с каким другим контентом, кроме фото. Имхо, минусов больше, причем перечислены еще не все.</p></blockquote>
<h3>Галерея NFLightBox</h3>
<p>По сравнению с обычным LightBox не имеет таких заморочек с настройкой под все основные браузеры, но точно также работает только с фото. Однако имеет возможность автоматической смены изображений &#8211; слайдшоу.</p>
<p>Смотрим <a href="http://www.linkexchanger.su/examples_2009/galleries/NFLightBox/demo.html" target="_blank">демо</a>, замечаем отличия от LightBox&#8230;</p>
<p>Подключается просто:</p>
<pre class="brush: xml;">&lt;link type=&quot;text/css&quot; href=&quot;css/nf.lightbox.css&quot; rel=&quot;stylesheet&quot; /&gt;
&lt;script src=&quot;js/jquery-1.3.2.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;js/NFLightBox.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</pre>
<p>В разделе HEAD надо указать пути к файлу стилевого оформления, файлу библиотеки jQuery и файлу плагина. Требования к разметке точно такие же, как и у LightBox.</p>
<pre class="brush: xml;">&lt;a href=&quot;images/large.jpg&quot; title=&quot;Какой-то текст&quot;&gt;
&lt;img src=&quot;images/small.jpg&quot; /&gt;
&lt;/a&gt;</pre>
<p>Создается галерея с помощью следующего jQuery-кода:</p>
<pre class="brush: jscript;">$('a').lightBox({
  overlayBgColor: '#363',
  txtImage: 'Фото',
  txtOf: 'из',
  txtPrev: ' Назад',
  txtNext: ' Вперед',
  keyToClose: 'q',
  keyToPrev: 'z',
  keyToNext: 'c'
});</pre>
<p>Этот плагин тоже имеет приличное количество настроек. Использование некоторых показано в приведенном выше коде. Довольно полезная опция overlayBgColor &#8211; позволяет менять цвет промежуточного слоя между просматриваемым изображением и содержимым веб-страницы. В LightBox для этого пришлось бы править css-файл.</p>
<p>Чуть подробнее про опции, которые можно использовать для настройки.</p>
<p><strong>overlayBgColor</strong> &#8211; по умолчанию #000 (черный), используется для задания цвета промежуточного слоя.<br />
<strong>overlayOpacity</strong> &#8211; по умолчанию 0.8, задает прозрачность промежуточного слоя. Можно использовать значения от 0 до 1.<br />
<strong>imageLoading, imageBtnPrev, imageBtnNext, imageBtnClose, imageBlank, imageBtnBottomPrev, imageBtnBottomNext, imageBtnPlay, imageBtnStop</strong> &#8211; во всех этих опциях можно передать строку, содержащую путь к файлу изображения соответствующего элемента управления.<br />
<strong>containerBorderSize</strong> &#8211; по умолчанию 10, определяет ширину рамки вокруг просматриваемого изображения.<br />
<strong>containerResizeSpeed</strong> &#8211; по умолчанию 500, время в миллисекундах, за которое будет изменяться размеры области просмотра изображения при переходе от одного изображения к другому.<br />
<strong>txtImage, txtOf, txtPrev, txtNext</strong> &#8211; вполне понятные опции. Например задав значения txtImage: &#8216;Фото&#8217; и txtOf:&#8217;из&#8217; Вы уже будете видеть не Image 1 of 8, а Фото 1 из 8.<br />
<strong>keyToClose, keyToPrev, keyToNext</strong> &#8211; с помощью этих опций можно задать &laquo;горячие&raquo; клавиши. Например keyToClose:&#8217;q&#8217; &#8211; при нажатии клавиши &#8216;q&#8217; просмотр будет прекращен.<br />
<strong>slideShowTimer</strong> &#8211; по умолчанию 5000, т.е.если Вы запустите слайдшоу, то изображения будут меняться каждые 5 секунд.</p>
<blockquote><p><strong>Выводы:</strong> Плюсы &#8211; неплохое оформление, большинство опций действительно полезны, есть автоматическая смена фото при просмотре, нет сложностей с настройкой. Минусы &#8211; png-файлы для элементов управления не очень здорово выглядят в IE6 (и к сожалению jquery.pngfix.js тут не поможет), не работает ни с каким другим контентом, кроме фото. Имхо, лучше, чем стандартный LightBox, но все же не то, что хочется.</p></blockquote>
<h3>Галерея PrettyPhoto</h3>
<p>Так и хочется написать &#8211; PrettyPhoto мой выбор! Во-первых, этот плагин позволяет работать не только с фото. В области просмотра можно выводить видео с YouTube, ролики в формате .mov (Apple QuickTime), содержимое во flash-формате и наконец вообще любой контент через iframe. Во-вторых, этот плагин имеет свой API, чего нет в рассмотренных ранее плагинах.<br />
Смотрим <a href="http://www.linkexchanger.su/examples_2009/galleries/prettyPhoto/demo.html" target="_blank">демо</a>, отмечаем отличия от других галерей и начинаем разговор про PrettyPhoto.</p>
<p>Сначала необходимо подключить к веб-страницы файл библиотеки jquery-1.3.2.js, файл плагина jquery.prettyPhoto.js и файл стилевого оформления плагина prettyPhoto.css.</p>
<pre class="brush: xml;">&lt;link type=&quot;text/css&quot; href=&quot;css/prettyPhoto.css&quot; rel=&quot;stylesheet&quot; /&gt;
&lt;script src=&quot;js/jquery-1.3.2.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;js/jquery.prettyPhoto.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</pre>
<p>Организация галереи (или галерей) почти не отличается от того, как это делается в LightBox.</p>
<pre class="brush: xml;">&lt;a rel=&quot;prettyPhoto[gallery_1]&quot; href=&quot;max/1.jpg&quot; title=&quot;Фото номер 1&quot;&gt;
&lt;img src=&quot;min/1.jpg&quot; alt=&quot;Фото номер 1&quot; /&gt;
&lt;/a&gt;</pre>
<p>Картинка-миниатюра заключена в тэг а, атрибут href которого указывает на соответствующее полноразмерное изображение. В атрибуте rel содержится ключевое слово &#8211; prettyPhoto. Чтобы создать несколько различных галерей на обной веб-странице, в атрибуте rel следует указать например &#8211; prettyPhoto[gallery_easy] для условной первой галереи, prettyPhoto[other_gallery] &#8211; для другой и так далее&#8230;</p>
<p>С помощью jQuery-кода создаем галерею. Используем настройки, установленные по умолчанию.</p>
<pre class="brush: jscript;">$(function(){
  $(&quot;a[rel^='prettyPhoto']&quot;).prettyPhoto();
});</pre>
<p>Опции, которые можно использовать для настройки prettyPhoto:<br />
<strong>animationSpeed</strong> &#8211; по умолчанию &#8216;normal&#8217;. Другие возможные значения &#8211; &#8216;fast&#8217; и &#8217;slow&#8217;. Скорость анимации изменения размеров окна просмотра при переходе от одного изображения к другому.<br />
<strong>padding</strong> &#8211; по умолчанию 40. Число, опредяляющее отступы вокруг изображения.<br />
<strong>opacity</strong> &#8211; по умолчанию 0.80, прозрачность промежуточного слоя. Изменяется от 0 до 1.<br />
<strong>showTitle</strong> &#8211; по умолчанию true. Заголовок (содержимое атрибута title тэга а), который отображается в левом верхнем углу над областью просмотра. Чтобы отключить надо использовать значение false.<br />
<strong>allowresize</strong> &#8211; по умолчанию true. По умолчанию полноразмерное изображение масштабируется, если ему не хватает места для отображения в полном размере. Можно отменить это поведение, передав false.<br />
<strong>counter_separator_label</strong> &#8211; по умолчанию &#8216;/&#8217;. Разделитель в счетчика изображений галереи.<br />
<strong>theme</strong> &#8211; по умолчанию &#8216;light_rounded&#8217;. Да! Плагин поддерживает несколько тем оформления. Кроме light_rounded возможны также dark_rounded, light_square, dark_square. Вот только для IE6 принудительно используется тема light_square (светлый фон и нескругленные углы).<br />
<strong>hideflash</strong> &#8211; по умолчанию false. Скрывает все flash-объекты на странице при просмотре галереи, чтобы они не отображались поверх. Если этого не требуется, можно установить значение true.<br />
<strong>modal</strong> &#8211; по умолчанию false. Если установить true, будет использоваться модальный режим, т.е. завершить просмотр галереи можно будет только нажатием на картинку &#8216;close&#8217;.</p>
<p>Еще две полезные опции, в которых можно определить callback-функции, вызываемые при наступлении определенного события.<br />
<strong>changepicturecallback</strong> &#8211; функция, определенная в этой опции, будет вызываться каждый раз при смене изображения галереи.<br />
<strong>callback</strong> &#8211; функция, определенная в этой опции, будет вызываться при завершении просмотра.</p>
<p>Плюс ко всем этим полезным опциям, плагин предоставляет четыре метода.</p>
<p><em>$.prettyPhoto.open(&#8216;path/to/image&#8217;,'Title&#8217;,'Description&#8217;)</em> &#8211; метод позволяет открыть нужную галерею. Пример будет чуть позже.<br />
<em>$.prettyPhoto.changePage(&#8216;next&#8217;)</em> &#8211; с помощью этого метода можно осуществить переход к следующему изображению галереи.<br />
<em>$.prettyPhoto.changePage(&#8216;previous&#8217;)</em> &#8211; с помощью этого метода можно осуществить переход к предыдущему изображению галереи.<br />
<em>$.prettyPhoto.close()</em> &#8211; с помощью этого метода можно закрыть галерею.</p>
<p>Самый большой интерес наверняка вызовет метод, с помощью которого можно открыть галерею практически как угодно и откуда угодно. Поэтому смотрим <a href="http://www.linkexchanger.su/examples_2009/galleries/prettyPhoto/demo2.html" target="_blank">демо</a>. Код там настолько несложный и понятный даже интуитивно, что не стоит его и комментировать.</p>
<p>В общем эта галерея может удовлетворить наверное все потребности веб-мастеров. Кроме одной &#8211; слайд-шоу. Чтобы не было обидно, давайте попробуем немного доработать предыдущий пример. Мы дополнительно подключим плагин jquery.timers.js и воспользуемся тем фактом, что в опциях changepicturecallback и callback можно определить функции. В html-разметке добавим select, откуда можно будет выбирать значения задержки при смене изображений. Что из этого получилось, смотрите <a href="http://www.linkexchanger.su/examples_2009/galleries/prettyPhoto/demo3.html" target="_blank">демо</a>, там же можно посмотреть и исходный код.</p>
<p>В опции changepicturecallback, пользуясь возможностями плагина jQuery Timers, при смене изображений каждый раз запускаем одноразовый таймер со значением, полученным из выбранной опции в селекте. По срабатыванию таймера вызываем метод $.prettyPhoto.changePage(&#8216;next&#8217;) заставляя плагин показывать следующее изображение. В опции callback определяем функцию, которая останавливает таймер, если галерея была закрыта и заодно, с помощью alert благодарим за просмотр.</p>
<p>На самом деле такое решение небезгрешно, но зато сделано &laquo;на колене в 5 секунд&raquo;, поэтому кто имеет желание, может в комментариях предлагать свои идеи по этому поводу.</p>
<blockquote><p>Все примеры, использованные в этой статье, лежат в этом <a href="http://www.linkexchanger.su/examples_2009/galleries/demo.zip">архиве</a>.</p></blockquote>
<p>Для тех, кто хочет самостоятельно изучить первоисточники, пожалуйста, ссылки: <a href="http://www.balupton.com/sandbox/jquery_lightbox_bal/demo/">LightBox</a>, <a href="http://www.notesfor.net/post/NotesForLightBox.aspx">NFLightBox</a>, <a href="http://www.no-margin-for-errors.com/projects/prettyPhoto-jquery-lightbox-clone/">PrettyPhoto</a>.</p>
<blockquote><p><strong>Выводы:</strong> для себя выбрал именно PrettyPhoto&#8230;. по крайней мере пока не появилось что-нибудь еще лучше.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.linkexchanger.su/2009/112.html/feed</wfw:commentRss>
		<slash:comments>70</slash:comments>
		</item>
		<item>
		<title>jQuery LightBox &#8211; отличная фотогалерея.</title>
		<link>http://www.linkexchanger.su/2008/65.html</link>
		<comments>http://www.linkexchanger.su/2008/65.html#comments</comments>
		<pubDate>Mon, 11 Aug 2008 01:24:18 +0000</pubDate>
		<dc:creator>Gennady</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[lightbox]]></category>
		<category><![CDATA[фотогалерея]]></category>

		<guid isPermaLink="false">http://www.linkexchanger.su/2008/65.html</guid>
		<description><![CDATA[
Давно собирался рассказать об этом плагине к библиотеке jQuery, но вот наконец-то собрался ликвидировать этот пробел. Плагин jQuery LightBox пользуется популярностью, и надо сказать вполне заслуженно. Легкий в использовании, гибкий в настройках, что еще нужно организации изящной галереи на сайте?
Давайте, как обычно, начнем с демонстрации работы плагина. Кликните мышкой на первой картинке и посмотрите как [...]]]></description>
			<content:encoded><![CDATA[<p><script src="http://www.linkexchanger.su/example_jquery/js/jquery-1.2.6.js" type="text/javascript"></script><script src="http://www.linkexchanger.su/example_jquery/js/jquery.lightbox.js" type="text/javascript"></script></p>
<link href="http://www.linkexchanger.su/example_jquery/lightbox.css" rel="stylesheet" type="text/css" />Давно собирался рассказать об этом плагине к библиотеке jQuery, но вот наконец-то собрался ликвидировать этот пробел. <strong>Плагин jQuery LightBox</strong> пользуется популярностью, и надо сказать вполне заслуженно. Легкий в использовании, гибкий в настройках, что еще нужно организации изящной галереи на сайте?<br />
Давайте, как обычно, начнем с демонстрации работы плагина. Кликните мышкой на первой картинке и посмотрите как работает <strong>jQuery LightBox</strong>.<br />
<font color="#ff0000">Внимание! Эта статья устарела. Новая статья по этой теме:</font> &laquo;<a href="http://www.linkexchanger.su/2009/112.html">Галерея LightBox и ее клоны</a>&laquo;.<br />
<span id="more-65"></span><br />
<a href="http://www.linkexchanger.su/example_jquery/lightbox_img/01.jpg" rel="lightbox-tour" title="Здесь отображается значение атрибута title тэга А в который заключена сама картинка."><img src="http://www.linkexchanger.su/example_jquery/lightbox_img/01m.jpg" style="border: medium none ; margin: 0pt 2px 2px 0pt" /></a><a href="http://www.linkexchanger.su/example_jquery/lightbox_img/02.jpg" rel="lightbox-tour" title="Кто это? Друиды?"><img src="http://www.linkexchanger.su/example_jquery/lightbox_img/02m.jpg" style="border: medium none ; margin: 0pt 2px 2px 0pt" /></a><a href="http://www.linkexchanger.su/example_jquery/lightbox_img/03.jpg" rel="lightbox-tour" title="Розовый фламинго... - кто же это пел?"><img src="http://www.linkexchanger.su/example_jquery/lightbox_img/03m.jpg" style="border: medium none ; margin: 0pt 2px 2px 0pt" /></a><a href="http://www.linkexchanger.su/example_jquery/lightbox_img/04.jpg" rel="lightbox-tour" title="Монахи... Неужто Шао-Линь?"><img src="http://www.linkexchanger.su/example_jquery/lightbox_img/04m.jpg" style="border: medium none ; margin: 0pt 2px 2px 0pt" /></a><a href="http://www.linkexchanger.su/example_jquery/lightbox_img/05.jpg" rel="lightbox-tour" title="Мухтар на границе."><img src="http://www.linkexchanger.su/example_jquery/lightbox_img/05m.jpg" style="border: medium none ; margin: 0pt 2px 2px 0pt" /></a><a href="http://www.linkexchanger.su/example_jquery/lightbox_img/06.jpg" rel="lightbox-tour" title="Эх...."><img src="http://www.linkexchanger.su/example_jquery/lightbox_img/06m.jpg" style="border: medium none ; margin: 0pt 2px 2px 0pt" /></a><a href="http://www.linkexchanger.su/example_jquery/lightbox_img/07.jpg" rel="lightbox-tour" title="Пейзаж однако."><img src="http://www.linkexchanger.su/example_jquery/lightbox_img/07m.jpg" style="border: medium none ; margin: 0pt 2px 2px 0pt" /></a><a href="http://www.linkexchanger.su/example_jquery/lightbox_img/08.jpg" rel="lightbox-tour" title="Вот это братки!"><img src="http://www.linkexchanger.su/example_jquery/lightbox_img/08m.jpg" style="border: medium none ; margin: 0pt 2px 2px 0pt" /></a><br />
<script type="text/javascript"> $(document).ready(function(){ 	$("#gallery a").lightbox();     $.Lightbox.construct({     	"speed": 500,     	"show_linkback": true,     	"keys": { 			close:	"q", 			prev:	"z", 			next:	"x" 		}, 		"opacity": 0.3, 		text: { 			image:		"Картинка", 			of:			"из", 			close:		"Закрыть", 			closeInfo:	"Завершить просмотр можно, кликнув мышью вне картинки.", 			help: { 				close:		"Закрыть", 				interact:	"Интерактивная подсказка" 			}, 			about: { 				text: 	"Можно вставить какую-нибудь ссылку", 				title:	"И снабдить ее комментарием...", 				link:	"http://www.linkexchanger.su/2008/65.html" 			} 		}, 		files: { 			images: { 				prev:		"http://www.linkexchanger.su/example_jquery/lightbox_img/prev.gif", 				next:		"http://www.linkexchanger.su/example_jquery/lightbox_img/next.gif", 				blank:		"http://www.linkexchanger.su/example_jquery/lightbox_img/blank.gif", 				loading:	"http://www.linkexchanger.su/example_jquery/lightbox_img/loading.gif" 			} 		}     }); }); </script></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/example_jquery/lightbox.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<p>Итак, что же нужно, чтобы использовать такую галерею на своем сайте?</p>
<p>Нам понадобится библиотека jQuery, конечно же сам плагин <strong>jquery.lightbox.js</strong>, файл стилевого оформления, несколько картинок (вперед, назад, загрузка&#8230;) и фотографии для Вашей галереи, представленные в двух вариантах: миниатюра и полноразмерное изображение.</p>
<blockquote><p>Нужные файлы (включая демонстрационные фото), Вы сможете найти в этом <a href="http://www.linkexchanger.su/example_jquery/lightbox.zip">архиве</a>. Сам плагин <strong>jquery.lightbox.js</strong> и библиотеку jQuery можно найти в разделе <strong><a href="http://www.linkexchanger.su/download">Download</a></strong>.</p></blockquote>
<p>Для начала подключим в разделе HEAD нашей HTML-страницы нужные файлы, конечно же соблюдая пути к ним (у Вас они могут отличаться):</p>
<pre class="brush: xml;">&lt;script type=&quot;text/javascript&quot; src=&quot;js/jquery-1.2.6.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;js/jquery.lightbox.js&quot;&gt;&lt;/script&gt;
&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;lightbox.css&quot; /&gt;</pre>
<p>Затем займемся размещением в теле HTML-страницы миниатюр. Тут простор для творчества &#8211; размещайте как, где и сколько хотите миниатюр. Вот например:</p>
<pre class="brush: xml;">
&lt;ul&gt;
  &lt;li&gt;
    &lt;a href=&quot;img/01.jpg&quot; rel=&quot;lightbox-tour&quot; title=&quot;1-я&quot;&gt;&lt;img src=&quot;img/01m.jpg&quot; /&gt;&lt;/a&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;img/02.jpg&quot; rel=&quot;lightbox-tour&quot; title=&quot;2-я&quot;&gt;&lt;img src=&quot;img/02m.jpg&quot; /&gt;&lt;/a&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;img/03.jpg&quot; rel=&quot;lightbox-tour&quot; title=&quot;3-я&quot;&gt;&lt;img src=&quot;img/03m.jpg&quot; /&gt;&lt;/a&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;img/04.jpg&quot; rel=&quot;lightbox-tour&quot; title=&quot;4-я&quot;&gt;&lt;img src=&quot;img/04m.jpg&quot; /&gt;&lt;/a&gt;
  &lt;/li&gt;
&lt;/ul&gt;
</pre>
<p>Довольно просто: мы разместили миниатюры в списке (Вы можете избрать другой вариант). Самое главное здесь не список, а то, что мы заключили картинку-миниатюру в тэг А, который ссылается на полноразмерное изображение и имеет атрибут rel со значением lightbox-tour. Вот это действительно важно. Собственно Вы могли бы задать значение lightbox-petya или lightbox-1 для всех фотографий галереи. Здесь важно присутствие ключевого слова lightbox, а разные &laquo;окончания&raquo; всего лишь идентификатор одной группы фотографий &#8211; ведь Вы можете разместить на странице и несколько независимых наборов, которые могут включать в себя от 1 до N (сколько влезет) фотографий. И еще &#8211; содержимое атрибута title &#8211; это описание, прилагаемое при просмотре к полноразмерной фотографии.</p>
<p>Это самый простой и легкий способ использования плагина jQuery LightBox. Есть и еще один, более гибкий способ. Посмотрите код, приведенный ниже. В jQuery-селекторе мы отбираем все элементы А, которые нас интересуют. Но преимущество этого способа даже не в этом, а в том, что тут можно использовать кое-какие опции, которые мы разберем ниже&#8230;</p>
<pre class="brush: jscript;">&lt;script type=&quot;text/javascript&quot;&gt;
$(document).ready(function(){
$(&quot;#selector a&quot;).lightbox();
$.Lightbox.construct({
  &quot;speed&quot;: 700,
  &quot;show_linkback&quot;: true,
  &quot;keys&quot;: {
    close: &quot;q&quot;,
    prev: &quot;z&quot;,
    next: &quot;x&quot;
  },
  &quot;opacity&quot;: 0.7,
  &quot;rel&quot;: box-tour,
  text: {
    image: &quot;Картинка&quot;,
    of: &quot;из&quot;,
    close: &quot;Закрыть&quot;,
    closeInfo: &quot;Клик вне картинки завершит просмотр.&quot;,
    help: {
      close: &quot;Закрыть&quot;,
      interact: &quot;Интерактивная подсказка&quot;
    },
    about: {
      text: &quot;Можно вставить какую-нибудь ссылку&quot;,
      title: &quot;И снабдить ее комментарием...&quot;,
      link: &quot;http://www.linkexchanger.su/2008/65.html&quot;
    }
  }
});
});
&lt;/script&gt;</pre>
<p>Набор опций передается в <strong>$.Lightbox.construct({});</strong>. В общем-то все опции имеют говорящие названия, но раз обещал их пояснить&#8230;<br />
<strong>speed</strong> &#8211; скорость перехода от одной картинки к другой, указывается в миллисекундах.<br />
<strong>show_linkback</strong> &#8211; показывать или не показывать ссылку при просмотре. Принимает значения true/false. По умолчанию true &#8211; показывать.<br />
<strong>opacity</strong> &#8211; прозрачность общего фона при просмотре. Изменяется от 0 до 1. По умолчанию установлено 0.9.<br />
<strong>keys</strong> &#8211; тут можно определить клавиши управления при просмотре. Принимает набор из пар ключ/значение. <strong>close</strong> &#8211; ясное дело закрыть, <strong>prev</strong> &#8211; предыдущая картинка, <strong>next</strong> &#8211; следующая. По умолчанию close:c, prev:p, next:n.<br />
<strong>text</strong> &#8211; тут уж совсем пояснять нечего. Просто посмотрите пример&#8230;</p>
<p>Я привел не все опции &#8211; остальные Вы сможете обнаружить, если откроете файл jquery.lightbox.js и найдете строки 455 &#8211; 520.</p>
<p>Что еще можно натворить с jQuery LightBox, чтобы Ваш экземпляр немного отличался от своих собратьев? Пожалуй немного поковырять стилевое оформление в файле <strong>lightbox.css</strong>. Ну например, чтобы изменить цвет фона с установленного по умолчанию черного на какой-нибудь зеленый, найдите <strong>#lightbox-overlay</strong> и поменяйте <strong>background-color:#0000;</strong> на <strong>background-color:#00ff00;</strong> и так далее&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.linkexchanger.su/2008/65.html/feed</wfw:commentRss>
		<slash:comments>92</slash:comments>
		</item>
	</channel>
</rss>

