Работаем с сервисом Flickr на JavaScript. Продолжение.
- 09 Окт 2011
- Рубрика:JavaScript
- Автор:admin
- Ваш отзыв
Продолжим работать с сервисом Flickr. Ранее мы сформировали с помощью JavaScript динамическое меню, к одному из пунктов которого в качестве подпунктов добавили названия сетов (альбомов), которые хранятся в сервисе Flickr.
Сейчас мы рассмотрим вывод фотографий каждого из сетов в зависимости от выбора посетителя.
Инструментарий.
Для вывода изображений будем использовать фрэймворк Galleria. Эта библиотека использует JQuery и в бесплатном варианте имеет достаточную функциональность. Но, самое главное для нас — она работает с сервисом Flickr.
Загружаем архив с сайта и разворачиваем файлы из архива в папку нашего сайта.
HTML.
Здесь изменения минимальны — добавляем строки подключения библиотеки и плагина, работающего с Flickr в заголовок файла:
<script type="text/javascript" src="galleria-1.2.5.min.js"></script> <script type="text/javascript" src="galleria.flickr.min.js"></script>
И перед закрывающим тегом </body> добавляем элементы страницы, в которых и разместим галерею фотографий:
<div id="content">
<div id="gallery">
</div>
</div>
CSS
Внесем изменения в таблицу стилей. Добавим стиль для блока header и вновь добавленных блоков:
#header {
display: block;
float: left;
width: 100%;
height: 100px;
}
#content {
display: block;
float: left;
width: 100%;
height: 480px;
}
#gallery {
width: 480px;
margin: 20px auto;
height: 480px;
}
Здесь существенным является задание высоты блока, в котором будет размещаться наша галерея (в нашем случае — gallery).
Связка
width: 480px; margin: 20px, auto;
позволяет разместить нашу галерею в центре экрана.
JavaScript
Теперь перейдем к коду.
В начале нашей процедуры обработки по загрузке документа добавляем подключение темы галереи. Для бесплатного использования распространяется тема «classic».
Galleria.loadTheme('themes/classic/galleria.classic.min.js');
Добавим функцию, которая создает галерею из фотографий альбома Flicr. В функцию будем передавать ИД альбома:
function loadImages(set_id){
$('#gallery').galleria({
flickr: 'set:' + set_id,
flickrOptions: {
sort: 'date-posted-asc'
}
});
}
И вызов этой функции добавим в два места нашей функции по созданию динамического меню makeGaleryMenu:
Один раз вызовем функцию loadImages после создания динамического меню для показа случайной галереи:
var idn = Math.floor(Math.random()* item_count + 1);
photo_set_id = $('ul.level2 li:nth-child(' + idn + ') a').data('id');
loadImages(photo_set_id);
Второй раз будем вызывать функцию в обработчике нажатия на пункт меню с соотыетствующим названием галереи:
$link.bind('click',function(e){
var $this = $(this);
if (photo_set_id != $this.data('id')) {
photo_set_id = $this.data('id');
loadImages(photo_set_id);
}
});
Вот и все. Посмотреть результат можно здесь.
Похожие сообщения:
просмотров:799
Pingback: progg.ru
Pingback: 5 JQuery галерей. - Понемногу обо всем. | Понемногу обо всем.
Pingback: Elektrische Zahnbuerste