слайдер с input range

введите сюда описание изображенияпомогите пожалуйста с решением такой не замысловатой задачи.Слайдер с ползунком, которая работает с право на лево,по размещению диапозона(в годах),слайдер но-3 (по умолчанию) равен диапозону 2016, слайдер но-2 равен диапозону 2009, слайдер но-1 равен диапозону 1988, при смешении ползунка,и когда доходит ползунок до конкретного диапозона должна сработать функция которая стесняет картинку и на оборот. Мне нужно сделать функционал на нативном javascript'тe. Исходники на github,спасибо за ранее!

"use strict";

(function() {
  function rangeValue() {
    var rng = document.querySelector('.range__slide');
    var rngVal = document.querySelector('.range__value');
    rngVal.style.width = rng.value + '%';
  }

  var rngInp = document.querySelector('.range__slide');
  rngInp.addEventListener('input', rangeValue, false);
})();
body {
  margin: 0;
  padding: 0;
  background-color: #FFFFFF;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

.container {
  width: 100%;
  max-width: 2048px;
  margin: 0 auto;
}

@media (max-width: 1180px) {
  .container {
    padding: 0 28px;
  }
}

.slider__section--last {
  position: relative;
  width: 100%;
  max-width: 2048px;
  height: 1536px;
  display: block;
  overflow: hidden;
}

.slider__inner {
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  flex-flow: row-reverse;
  position: absolute;
  right: 0;
  top: 0;
  width: 300%;
  height: 1536px;
}

.slider__item {
  width: 100%;
  max-width: 2048px;
  position: relative;
  display: block;
  float: left;
  width: 100%;
  height: 1536px;
}

.slider__item-title {
  position: absolute;
  top: 215px;
  left: 160px;
  font-size: 60px;
  color: #fff;
}

.slider__item-img {
  width: 100%;
  height: 1536px;
}

.range {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 50px;
  width: 100%;
  max-width: 1250px;
  margin: 0 auto;
}

.range__box {
  position: relative;
  width: 100%;
}

.range__slide {
  position: relative;
  -webkit-appearance: none;
  width: 100%;
  height: 25px;
  background: #435063;
  outline: none;
  -webkit-transition: .2s;
  -webkit-transition: opacity .2s;
  transition: opacity .2s;
}

.range__slide::-webkit-slider-thumb {
  position: relative;
  z-index: 40;
  background: url(https://raw.githubusercontent.com/MuradSky/myslider/29c68233203d37dbc4d2acfeacb976f5ddfa9f44/img/rangeFade.svg) no-repeat;
  display: block;
  -webkit-appearance: none;
  appearance: none;
  width: 94px;
  height: 118px;
  cursor: pointer;
}

.range__slide::-moz-range-thumb {
  position: sticky;
  z-index: 100;
  -moz-appearance: none;
  appearance: none;
  background: url(../img/rangeFade.svg) no-repeat;
  display: block;
  width: 94px;
  height: 118px;
  cursor: pointer;
  border: none;
}

.range__value {
  position: absolute;
  z-index: 1;
  content: "";
  background: #d1eaff;
  height: 25px;
  width: 98%;
  top: 2px;
  left: 0;
}

.range__years {
  width: 100%;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  margin-top: 60px;
}

.range__year {
  font-size: 40px;
  color: #fff;
}

© 2020 GitHub,
Inc.
<main class="slider container">
  <section class="slider__section"></section>
  <section class="slider__section"></section>
  <sectoin class="slider__section slider__section--last">
    <div class="slider__inner">
      <div class="slider__item">
        <div class="slider__item-title">Звенья патогенеза СД2</div>
        <div class="slider__item-img"><img class="slider__item-img" src="https://i.stack.imgur.com/I4nTa.jpg" /></div>
      </div>
      <div class="slider__item">
        <div class="slider__item-title">Смертельный октет</div>
        <div class="slider__item-img"><img class="slider__item-img" src="https://i.stack.imgur.com/I4nTa.jpg" /></div>
      </div>
      <div class="slider__item">
        <div class="slider__item-title">Звенья патогенеза СД2</div>
        <div class="slider__item-img"><img class="slider__item-img" src="https://i.stack.imgur.com/I4nTa.jpg" /></div>
      </div>
    </div>
    <div class="range">
      <div class="range__box">
        <input class="range__slide" type="range" min="1" max="100" value="100" />
        <div class="range__value"></div>
      </div>
      <div class="range__years"><span class="range__year">1988</span><span class="range__year">2009</span><span class="range__year">2016</span></div>
    </div>
  </sectoin>
</main>

https://github.com/MuradSky/myslider.git


Ответы (0 шт):