Навигация для портфолио

Сделаем навигацию по портфолио с помощью jQuery. Изображения сгруппированы по разным тематикам, а навигация осуществляется в 2D пространстве с указанием положения на специальном индикаторе.

 

Разметка HTML

У нас будет основной контейнер div с фоном, а внутри будут размещаться стрелки и контейнеры галереи.

		<div id="portfolio">
			<div id="background"></div>		
			<div class="arrows">
				<a href="#" class="up">Вверх</a>
				<a href="#" class="down">Вниз</a>
				<a href="#" class="prev">Предыдущий</a>
				<a href="#" class="next">Следующий</a>
			</div>
			<div class="gallery">
				<div class="inside">
					<div class="item">
						<div><img src="/images/1.jpg" alt="image1" /></div>
						<div><img src="/images/2.jpg" alt="image2" /></div>
						<div><img src="/images/3.jpg" alt="image3" /></div>
					</div>
					<div class="item">
						<div><img src="/images/4.jpg" alt="image4" /></div>
						<div><img src="/images/5.jpg" alt="image5" /></div>
					</div>
					<div class="item">
						<div><img src="/images/6.jpg" alt="image6" /></div>
						<div><img src="/images/7.jpg" alt="image7" /></div>
						<div><img src="/images/8.jpg" alt="image8" /></div>
						<div><img src="/images/9.jpg" alt="image9" /></div>
						<div><img src="/images/10.jpg" alt="image10" /></div>
						<div><img src="/images/11.jpg" alt="image11" /></div>
					</div>
					<div class="item">
						<div><img src="/images/12.jpg" alt="image12" /></div>
						<div><img src="/images/13.jpg" alt="image13" /></div>
						<div><img src="/images/14.jpg" alt="image14" /></div>
						<div><img src="/images/15.jpg" alt="image15" /></div>
					</div>
				</div>
			</div>
		</div>

 

CSS

Сначала определим стили для основного контейнера. Он будет иметь фиксированное положение по центру экрана (используется техника установки отрицательного значения полей и 50%):

#portfolio {
    position:fixed;
    top:50%;
    left:50%;
    z-index:1;
    width:1000px;
    height:500px;
    margin:-250px 0 0 -500px;
}

Фон также будет фиксироваться. Для него установим изображение, которое будет создавать оптический эффект :

#background {
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index:2;
    background:url(../images/bg.png) no-repeat center;
}

Галерея будет позиционироваться абсолютно:

#portfolio .gallery,
#portfolio .gallery .inside {
    position:absolute;
    top:0;
    left:0;
}

Также, галерея будет занимать все пространство портфолио:

#portfolio .gallery {
    width:100%;
    height:100%;
    overflow:hidden;
}

Зафиксируем z-index внутреннего элемента div,  чтобы сохранить порядок:

#portfolio .gallery .inside {
    z-index:1;
}

Теперь определим стили стрелок:

#portfolio .arrows a {
    position:absolute;
    z-index:3;
    width:32px;
    height:32px;
    background-image:url(../images/arrows.png);
    background-repeat:no-repeat;
    outline:none;
    text-indent:-9999px;
}

И для каждой стрелки установим свои правила:

#portfolio .arrows .prev,
#portfolio .arrows .up {
    display:none;
}
 
#portfolio .arrows .up,
#portfolio .arrows .down {
    left:50%;
    margin-left:-16px;
}
 
#portfolio .arrows .prev,
#portfolio .arrows .next {
    top:180px;
}
 
#portfolio .arrows .up {
    background-position:0 -64px;
    top:20px;
}
 
#portfolio .arrows .down {
    background-position:0 -96px;
    bottom:120px;
}
 
#portfolio .arrows .prev {
    background-position:0 -32px;
    left:60px;
}
 
#portfolio .arrows .next {
    background-position:0 0;
    right:60px;
}
 
#portfolio .arrows .up:hover {
    background-position:-32px -64px;
}
 
#portfolio .arrows .down:hover {
    background-position:-32px -96px;
}
 
#portfolio .arrows .next:hover {
    background-position:-32px 0;
}
 
#portfolio .arrows .prev:hover {
    background-position:-32px -32px;
}

Элемент для изображения будет иметь следующие стили:

#portfolio .item {
    position:absolute;
    top:0;
    width:1000px;
    height:400px;
}

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

#portfolio .item div {
    position:absolute;
    left:0;
    width:100%;
    height:100%;
}

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

#portfolio .item div img {
    position:absolute;
    top:0;
    left:50%;
    margin-left:-300px;
}

Теперь определим стили для индикатора положения, который будет добавляться динамически:

#portfolio .paths {
    position:absolute;
    bottom:60px;
    left:50%;
    margin-left:-30px;
    z-index:4;
}
 
#portfolio .paths div {
    position:absolute;
    top:0;
}
 
#portfolio .paths a {
    background:#333;
    display:block;
    position:absolute;
    left:0;
    outline:none;
}
 
#portfolio .paths a:hover,
#portfolio .paths .active {
    background:#fff;
}

 

JavaScript

Для инициализации плагина нужно включить в заголовок HTML файла следующие скрипты:

<script src="/js/jquery.js" type="text/javascript"></script>
<script src="/js/portfolio.js" type="text/javascript"></script>
<script src="/js/init.js" type="text/javascript"></script>

Первый - библиотека jQuery, второй - скрипт портфолио, третий - код инициализации.

var o = {
    init: function(){
        this.portfolio.init();
    },
    portfolio: {
        data: {
        },
        init: function(){
            $('#portfolio').portfolio(o.portfolio.data);
        }
    }
}
 
$(function(){ o.init(); });

Плагин имеет по умолчанию следующие опции:

$('#portfolio').portfolio({
    image: {
        width: 600,
        height: 400,
        margin: 20
    },
    path: {
        width: 10,
        height: 10,
        marginTop: 5,
        marginLeft: 5
    },
    animationSpeed: 400
});

Опции раздела image: width - ширина изображения, height - высота изображения, margin - поле между картинками. Опции секции path определяют параметры индикатора навигации: размеры и поля между клетками. animationSpeed - определение скорости анимации.

Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/4CXgSj3R4VE/lessons.php

Читать комменты и комментировать

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



Защитный код
Обновить

Навигация для портфолио | | 2012-06-19 11:58:05 | | Статьи Web-мастеру | | Сделаем навигацию по портфолио с помощью jQuery. Изображения сгруппированы по разным тематикам, а навигация осуществляется в 2D пространстве с указанием положения на специальном индикаторе. Разметка | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Поделиться с друзьями: