Автор

04 06.2017
Вертикальная фиксированная навигация на jQuery

Вертикальная фиксированная навигация на jQuery


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

 

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

 

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

 

Создание структуры

Мы завершили навигацию в элементе <nav> и создали раздел для каждого элемента навигации. Мы добавили навигационный trigger для доступа к навигации на сенсорных устройствах.

<a class="cd-nav-trigger cd-img-replace">Open navigation</a>
<nav id="cd-vertical-nav" >
<ul>
<li>
<a href="#section1" data-number="1">
<span class="cd-dot"></span>
<span class="cd-label">Item 1</span>
</a>
</li>
<!-- other navigation items here-->
</ul>
</nav>

<section id="section1" class="cd-section">
<!-- content here -->
</section>

<section id="section2" class="cd-section">
<!-- content here -->
</section>

<!-- other sections here -->

 

Добавление стиля

Мы используем классы Modernizr .touch и .no-touch для обнаружения устройств touch и no-touch и доставляем 2 пользовательских навигации. Вот почему, если вы измените размер браузера, чтобы протестировать фрагмент, вы все равно получите тот же эффект с точками. Но если вы протестируете демо на сенсорном устройстве, вы увидите следующее:

На устройствах без касания мы спрятали «триггер» навигации и установили position:fixed  в элементе <nav>.

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

.no-touch #cd-vertical-nav {
	/*fix the navigation*/
  	position: fixed;
  	right: 40px;
  	top: 50%;
  	bottom: auto;
  	transform: translateY(-50%);
}
 
.no-touch #cd-vertical-nav a span {
  	float: right;
  	/*scale down navigation dots and labels*/
  	transform: scale(0.6);
}
 
.no-touch #cd-vertical-nav .cd-dot {
  	transform-origin: 50% 50%;
}
 
.no-touch #cd-vertical-nav .cd-label {
  	transform-origin: 100% 50%;
}
 
.no-touch #vertical-nav a:hover span {
 	/*scale up navigation dots and labels*/
  	transform: scale(1);
}
 
.no-touch #cd-vertical-nav a:hover .cd-label {
	/*show labels*/
 	opacity: 1;
}

На сенсорных устройствах мы устанавливаем положение: исправлено для .cd-nav-trigger и <nav> и помещаем их в нижнем правом углу. Таким образом, он не должен конфликтовать с дополнительной навигацией, если ваш сайт требует его.

Когда пользователь нажимает на элемент .cd-nav-trigger, мы предоставляем класс .open навигации для изменения значения шкалы CSS3 от 0 до 1 с переходом CSS3 для достижения плавной анимации.

.touch #cd-vertical-nav {
  position: fixed;
  z-index: 1;
  right: 5%;
  bottom: 30px;
  width: 90%;
  max-width: 400px;
  max-height: 90%;
  transform: scale(0);
  transition-property: transform;
  transition-duration: 0.2s;
}
.touch #cd-vertical-nav.open {
  transform: scale(1);
}

 

Обработка событий

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

 

Вот и всё!


vk.com/club.ssdru

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


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

16 04.2013
Вертикальная фиксированная навигация на jQuery

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


20 07.2013
Вертикальная фиксированная навигация на jQuery

Вам необходимо организовать сетку для изображений, с динамической подгрузкой изображений, аналогом можно привести стену вконтакте по подгружаемости контента. В данном уроке мы рассмотрим как реализовать данный эффект.  На самом деле возможностей реализовать этот эффект достаточно много, и мы бы хотели поделиться своим опытом. Некоторые эффекты позаимствованы от CSS3 scroll effects, написанных Hakim El Hattab. Для распределения изображений в сетке, воспользуемся библиотекой Masonry.


18 05.2013
Вертикальная фиксированная навигация на jQuery

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


23 04.2013
Вертикальная фиксированная навигация на jQuery

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


105 Публикаций

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

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


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

О КОМПАНИИ

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

Close

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


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

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

Close