Автор

Галерея миниатюр для портфолио на jQuery

Галерея миниатюр для портфолио на jQuery


 

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

 

ДЕМО
ИСХОДНИКИ

 

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

Шаг 1. HTML

Нам необходимо создать список в виде неупорядоченного списка, и заключим это все в единый элемент Div, это оболочка будет использоваться для отображения сетки миниатюр изображений, стили будут созданы с помощью javascript, по этому css будут достаточно простыми. В этом уроке я использую удивительные изображения с dribbble, размещенные Troy Cummings:

<div id="portfolio"></div>

<ul id="portfolio-item">
 <li><img src="images/dumptruck_teaser.jpeg" alt="Dump Truck"></li>
 <li><img src="images/rrwooo_rrwooo_teaser.jpeg" alt="Rrwooo"></li>
 <li><img src="images/dozer_teaser.jpeg" alt="Dozer"></li>
 <!-- to n image -->
</ul>

У нас будут содержаться атрибуты подписи для изображений, следующий код это результат построения генерируемой разметки с помощью JavaScript:

<div id="portfolio">
 <div style="background:url(images/dumptruck_teaser.jpeg)"> <span>Dump Truck</span></div>
 <div style="background:url(images/rrwooo_rrwooo_teaser.jpeg)"> <span>Rrwooo</span></div>
 <!-- to n div -->
</div>

С разметкой мы в небольшой мере, надеюсь, разобрались, переходим к следующему шагу.

Шаг 2. CSS

Изображения у нас будут выводится сеткой, нам необходимо задать общие параметры построения сетки добавить немного прозрачного диапазона черного фона, теней, Также мы установим display на none.

#portfolio-item {
 display: none;
}

#portfolio {
 margin: 2em 0 1em;
 transform-style: preserve-3d;
}

#portfolio div {
 display: inline-block;
 position: relative;
 vertical-align: top;
 margin: 1em;
 width: 200px;
 height: 150px;
 box-shadow: 0px 0px 25px rgba(0,0,0,.3);
}

 #portfolio div span {
 text-align: left;
 position: absolute;
 color: #fff;
 background: rgba(0,0,0,0.6);
 width: 90px;
 padding: 5px 15px 7px;
 z-index: 1;
 left: -10px;
 bottombottom: 10px;
 }

Нам необходимо добавить класс анимации который будет использоваться при переходе на другую страничку. Мы будем вращать изображения на 360 градусов. относительно осей Х и Y.

.animated {
 transition: .9s ease-out;
}

.flipped-horizontal-rightright {
 transform: rotateY(360deg);
}

.flipped-horizontal-left {
 transform: rotateY(-360deg);
}

.flipped-vertical-top {
 transform: rotateX(360deg);
}

.flipped-vertical-bottombottom {
 transform: rotateX(-360deg);
}

 

Шаг 3. JavaScript

 

Для начала нам необходимо определить некоторые переменные для навигации:

navigation.on('click', function(e) {

 e.preventDefault();

 navigation.removeClass('selected');
 $(this).addClass('selected');

 page = $(this).attr('data-page');

 for( var i = 0; i <= indexedItemShow; i++ ) {

 random = Math.floor( Math.random() * ( 3 - 0 + 1 ) );
 animation = rotation[random];

 item = itemWrapper.children('div:eq(' + i + ')');

 item.addClass('animated ' + animation);
 }
});

При нажатии на пункты, будет происходить анимация и подбор изображений:

window.setTimeout(function (index) {
 return function () {

 indexReal = (page == 1) ? index : (index + (page - 1)) ;
 itemHost = indexReal + (indexedItemShow * (page - 1));

 itemImage = itemList.children('li:eq(' + itemHost + ')').children('img');
 itemSrc = itemImage.attr('src');
 itemAlt = itemImage.attr('alt');
 itemCurrent = itemWrapper.children('div:eq(' + index + ')');

 itemCurrent.css('background', 'url(' + itemSrc + ')');
 itemCurrent.children('span').text(itemAlt);
 };
} (i), 500);

 

Вот и все. Готово!

Материал взят из зарубежного источника. И представлен исключительно в ознакомительных целях.

Многие материалы на сайте взяты из блогов: "Все для веб-дизайнера Rudebox", "A free library of HTML, CSS, JS nuggets Codyhouse" - полностью переведен и представлен в ознакомительных целях!

vk.com/club.ssdru

Подписывайтесь на нашу группу в контакте vk.com/club.ssdru



Статьи по темеjQuery

Галерея миниатюр для портфолио на jQuery

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


Галерея миниатюр для портфолио на jQuery

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

Внимание! Метод не работает в IE8 и ниже, в нашем проекте решили не ориентироваться на эти браузеры, по крайней мере на этапе Бета.

Галерея миниатюр для портфолио на jQuery

Как вы возможно заметили, мы достаточно много уделяем внимания по созданию различных галерей для сайта, и это совсем не странно, ведь галерей достаточно много, и они весьма специфические. В данном уроке мы рассмотрим как создать адаптированную галерею с каруселью миниатюр для сайта, с помощью плагина jquery. Галерея будет подстраиваться под размер окна браузера, также можно будет отключить или включить карусель миниатюр. Достаточно удобно можно осуществлять навигацию с помощью клавиатуры.


Галерея миниатюр для портфолио на jQuery

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


Раскрутка в соцсетях

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


Перейти в Блог

Надёжный хостинг

С нами хостинг удобен и прост, как диван у вас дома. Вы с комфортом размещаетесь, а все внутренние пружины мы берем на себя.

Бесплатный тестовый период, ежедневные бэкапы, неограниченный трафик, акции с бонусами... Конечно, у нас все это есть.


Перейти на хостинг

О КОМПАНИИ

Studio Design существует с 2001 года. Основной нашей деятельностью до 2007 года было видеопроизводство ( видеореклама и документальные фильмы, о чем подробно описано в нашем блоге ). С 2007 года, вот уже как лет, наша основная специфика - это создание сайтов для бизнеса или частной деятельности, веб дизайн, а также поддержка и администрирование готовых проектов. Каждая выполненная нами работа - это уникальный, а самое главное, адаптивный под все современные мобильные устройства дизайн сайта. Мы готовы создать сайт с нуля для каждого клиента с любого уголка России! Мы поможем Вам в создании, как одностраничных сайтов – визиток, так и крупных интернет магазинов или корпоративных сайтов. А все наши работы, большинство из которых действуют и по сей день!

Close

Целовальников Сергей


Веб-дизайн, HTML5, CSS3, jQuery, JavaScript, Верстка.

Верстальщик с большим опытом работы. Занимаюсь созданием сайтов с 2005 года. Постоянно обучаюсь и совершенствую свои навыки. Веду свои проекты, в том числе и данный блог.

Close