HTML:

CSS:

JS:

Где:

  • Атрибут data-bg - цвет фона вкладки и ее пункта меню.
  • Атрибут data-menu - заголовок пункта меню
  • Предзагрузка картинок нужна для того, чтобы при смене вкладок, следующая фотография поворачивалась, а не появлялась после того, как будет загружена.

За основу взято решение, найденное на codepen.io у пользователя Paul Noble

Смотрите также:

Новогодняя блок-секция с поздравлением

Красивый адаптивный слайдер с перспективой обзора фотографий

Красивый эффект смены изображений колесом прокрутки мыши на WebGL

Добавить комментарий:

Ваш комментарий отправлен!

Комментарии:

  • Ольга:

    Здравствуйте, скажите пожалуйста, а все слайдеры на вашей странице можно использовать на сайтах бесплатно, или нужно покупать лицензию?
    С уважением,
    Ольга

    Ответить
    • Alexander:

      Если брать конкретно этот, то я ниже указал, где я взял идею, потом ее немного переделал и выложил.
      Если речь идет, например, о [i]swiper[/i], то тут его варианты оформления, а сам плагин идет по их лицензии

      Ответить
  • Александр:

    Если возникнет необходимость вызова модального окна в правой части с текстом, то можно столкнуться с проблемой возникновения неиндефицированных кнопок навигации по табам. Это может быть вызвано наличием кнопки или ссылки с решеткой (#) для открытия модалок. Проблема решается в скрипте. Нужно изменить кусок кода с const setIndexes. Замените на это:
    [code]
    const setIndexes = () => {
    let index = 0;
    $('.spinner-face').each((i, el) => {
    const dataMenu = $(el).attr('data-menu');
    if (dataMenu) {
    if (index === 0) {
    $(el).addClass('js-active');
    }
    $(el).attr('data-index', index);
    $('.tabs3d-control').append(`<a style="background-color: ${$(el).attr('data-bg')}" href="#tab" data-index="${index}">${dataMenu}</a>`);
    index++;
    }
    });
    limit = index;
    };
    [/code]

    Ответить
  • Сергей:

    Здравствуйте, я пытаюсь сделать высоту больше в .spinner с 480px до 600px, но при эффекте прокрутки появляются полосы, где еще что то изменить, что бы все было ровно?

    Ответить
    • Alexander:

      [i]translateZ(230px) [/i]и [i]translateZ(-230px)[/i] меняли?

      Ответить
      • Сергей:

        Нет, не менял, а на какое значение надо или как рассчитать правильно?

        Ответить
        • Сергей:

          А. понял, половина от высоты блока?

          Ответить
  • Александр:

    Привет, точно по инструкции делаю и ни чего не выходит. Может дело в картинках?

    Ответить
  • Владимир:

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

    Ответить
    • Alexander:

      Картинка так и задумывалась, как фоновая (с обрезкой)
      Попробуйте вставить ее в левый блок не фоном, а тегом.
      И по месту уже выравнять ее.
      Например:
      [code]<div class="content-left">
      <div class="content-img">
      <img src="senua.jpg">
      </div>
      <div class="content-title">
      <div>Senua</div>
      <p>Hellblade</p>
      </div>
      </div>[/code]
      [code].content-img {
      height: 100%;
      display: flex;
      align-items: center;
      }
      .content-img img {
      width: 100%;
      object-fit: contain;
      }[/code]

      Ответить
      • Владимир:

        Да спасибо тоже хороший вариант. Маленько с media запросами поиграл и тоже получилось.

        Ответить
      • Владимир:

        Хотя очевидно это решение проще и лучше чем я намудрил)

        Ответить
  • Владимир:

    Я так понимаю несколько таких штуковин на одной странице разместить не получиться?

    Ответить
    • Владимир:

      Дублируется меню

      Ответить
    • Alexander:

      Ну да, это скрипт переписывать нужно, чтобы проходил по каждому контейнеру с табами.

      Ответить
  • Сергей:

    Возможно данный слайдер реализовать на WP через шорткод в элементор? если да, то есть какая либо инструкция как
    то сделать?

    Ответить
    • Alexander:

      На WP так то можно все, но с элементором я не работал 🙁

      Ответить
      • Сергей:

        А как найти примерную инструкцию как вставить его на сайт, есть информация?

        Ответить
        • Alexander:

          Ну а какие тут инструкции? Это вот запись WP, а нее вставлены HTML, JS и CSS коды. В итоге мы имеем такой статичный слайдер.
          Если нужно вставить в шаблон, например, на главную, то вставляем эти коды в нужный шаблон.
          Если нужна динамика, то тут уже на PHP выводим нужные данные и т.д.

          Ответить
  • Александр:

    Сложно ли обойтись без jQuery? Просто хочется тоже самое реализовать только без jQuery)

    Ответить
  • Дмитрий:

    Глупый вопрос, однако при просмотре на мобильнике, или при попытки уменьшить размер браузера (или посмотреть через инспектора в любом другом разрешение, планшетное или телефонное), текст в правой колонке у меня переносится не по словам как положено, а побуквенно. как это можно исправить?

    Ответить
    • Alexander:

      Попробуйте [url="http://shpargalkablog.ru/2013/02/word-wrap.html"]свойства переносов[/url]

      Ответить
  • Юлия:

    Шикарно смотрится!! А насколько кроссбраузерно?

    Ответить
  • Ikrombek:

    Do you have a youtube channel to teach

    Ответить
    • Alexander:

      No, there are no video channels

      Ответить