Автор

Слайд-шоу со скользящими панелями на 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'); }

     

    Вот и всё!

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

    vk.com/club.ssdru

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



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

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

    Шумиха по поводу CSS4 возникла абсолютно из ниоткуда, так как мы только привыкли к CSS3, и все планируют использовать эту технологию еще какое-то время. Разработчики браузеров усиленно работают над тем, чтобы их продукт поддерживал самые последние эффекты и свойства, а разработчики внешних интерфейсов создают все больше и больше инструментов для более эффективной работы с таблицами стилей. И сейчас довольно странно слышать что-либо о CSS4. Сразу навязывается вопрос: «А как же CSS3? Разве уже всё?».


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

    В передыдущем уроке «Интересные кнопки поделиться в соцсетях на CSS3» я уже писал как можно сделать красивые кнопки для соцсетей. Продолжая эту тему хочу поделиться еще одним примером как можно оформить свой сайт! В данном примере используется только CSS и не каких скриптов!


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

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


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

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


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

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


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

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

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

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


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

    О КОМПАНИИ

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

    Close

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


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

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

    Close