Автор

06 06.2017
Слайд-шоу со скользящими панелями на jQuery

Слайд-шоу со скользящими панелями на jQuery


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

 

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

 

Сегодняшний пример - это простой, отзывчивый слайдер с четким дизайном и интересным эффектом движения: с каждым новым слайдовым элементом вставной блок контента покрывает предыдущее и представляет новое изображение.

 

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

Структура HTML состоит из двух основных элементов: ul.cd-slider для слайдов и навигации ol.cd-slider-navigation Оба обернуты внутри div.cd-slider-wrapper.

<div class="cd-slider-wrapper">
<ul class="cd-slider">
<li class="is-visible">
<div class="cd-half-block image"></div>

<div class="cd-half-block content">
<div>
<h2>Slide Number 1</h2>
<p>
<!-- content here -->
</p>
</div>
</div>
</li> <!-- .cd-half-block.content -->

<li>
<!-- item content here -->
</li>

<!-- addition list items here -->
</ul> <!-- .cd-slider -->

<!-- The ol.cd-slider-navigation element is created using jQuery and inserted here-->
</div> <!-- .cd-slider-wrapper -->

Обратите внимание!

Элемент ol.cd-slider-navigation не вставляется непосредственно в HTML, но создается с помощью jQuery.

 

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

На небольших устройствах (ширина видового экрана меньше 900 пикселей) структура слайдера довольно проста: элемент .cd-slider имеет относительное положение, а его дочерние элементы <li> имеют абсолютное положение, верх и слева от нуля.
Все элементы списка переведены вправо, вне области просмотра translateX (100%); Класс .is-visible добавляется к видимому, чтобы переместить его обратно в окно просмотра translateX (0).

.cd-slider {
  position: relative;
  height: 100%;
  overflow: hidden;
}
.cd-slider li {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  transform: translateX(100%);
  transition: transform 0.6s;
}
.cd-slider li.is-visible {
  transform: translateX(0);
}

На больших устройствах элементы списка перемещаются обратно в окне просмотра (translateX (0)), а их два дочерних элемента .cd-half-block.content и .cd-half-block.image переводятся вправо TranslateX (200%) и translateX (100%) соответственно). Таким образом, оба элемента находятся за пределами области просмотра, перекрываясь.

Когда класс .is-visible добавлен в выбранный элемент списка, два элемента .cd-half-block перемещаются обратно в окно просмотра (translateX (0)).
Мы использовали переходы CSS3 для анимации обоих элементов: для .cd-half-block.content мы устанавливаем продолжительность перехода 0,6 с и задержку перехода 0 с, а для .cd-half-block.image - устанавливаем Длительность перехода 0s и задержка перехода 0,3 с.
Таким образом, когда .cd-half-block.content перевел половину общего значения перевода (100%), .cd-half-block.image перемещается обратно внутри окна просмотра (translateX (0)) мгновенно (переход - duration: 0s). Это создает эффект раскрытия изображения.

Вот быстрая анимация, которая объясняет логику анимации блоков (.gif, созданная с помощью After Effects):

@media only screen and (min-width: 900px) {
  .cd-slider li {
    transform: translateX(0);
  }
  .cd-slider .cd-half-block {
    height: 100%;
    width: 50%;
    float: right;
  }
  .cd-slider .cd-half-block.content {
    transform: translateX(200%);
    transition: transform 0.6s 0s ease-in-out;
  }
  .cd-slider .cd-half-block.image {
    transform: translateX(100%);
    transition: transform 0s 0.3s;
  }
  .cd-slider li.is-visible .cd-half-block.content,
  .cd-slider li.is-visible .cd-half-block.image {
    transform: translateX(0%);
  }
  .cd-slider li.is-visible .cd-half-block.content {
    transition: transform 0.6s 0s ease-in-out;
  }
}

Одно замечание:

Мы установили задержку перехода .cd-half-block.image равной половине длительности перехода .cd-half-block.content. Это связано с тем, что мы использовали простоту в качестве функции времени, что гарантирует, что после половины длительности перехода (в нашем случае .3s) .cd-half-block.content фактически переместил половину общего значения перевода.

 

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

Мы использовали jQuery для создания и вставки в DOM навигации ползунка.

var sliderPagination = createSliderPagination(sliderContainer); // sliderContainer = $('.cd-slider-wrapper')
 
function createSliderPagination(container){
	var wrapper = $('
    '); container.children('.cd-slider').find('li').each(function(index){ var dotWrapper = (index == 0) ? $('
  1. ') : $('
  2. '), dot = $('').appendTo(dotWrapper); dotWrapper.appendTo(wrapper); var dotText = ( index+1 < 10 ) ? '0'+ (index+1) : index+1; dot.text(dotText); }); wrapper.appendTo(container); return wrapper.children('li'); }

     

    Вот и всё!


    vk.com/club.ssdru

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


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

    05 04.2013
    Слайд-шоу со скользящими панелями на jQuery

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


    14 06.2014
    Слайд-шоу со скользящими панелями на jQuery

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


    07 04.2013
    Слайд-шоу со скользящими панелями на jQuery

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


    11 09.2017
    Слайд-шоу со скользящими панелями на jQuery

    Контактна форма является важной составляющей сайта, с помощью данной формы посетитель может связаться с администрацией сайта.


    105 Публикаций

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

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


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

    О КОМПАНИИ

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

    Close

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


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

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

    Close