слайдер с 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