Слайдер изображений с элементами управления

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

function Slider(tag,count){
    var self = this;
    this.build=(buildset)=>build(buildset,self),
    this.activeSlide = 0;
    this.totalSlides = count,
    this.slideWidth = (window.screen.width * -self.totalSlides), 
    this.getSlider=()=>get(tag),
    this.controls={
        left:()=>{
        },
        right:()=>{
            var slider = self.getSlider();
            append(slider,slider.children[0]);
            self.clear();
            setTimeout(()=>self.start(), 5000);
            self.activeSlide++;
            self.activeSlide = (self.activeSlide === self.totalSlides) ? 0 : self.activeSlide;
            var slideTo = window.screen.width * -self.activeSlide;
            slider.style.transform = "translateX("+slideTo+"px)";
        }   
    },
    this.start=()=>{
        this.interval = setInterval(()=>{
            var slider = self.getSlider();
            append(slider,slider.children[0]);
            self.activeSlide++;
            self.activeSlide = (self.activeSlide === self.totalSlides) ? 0 : self.activeSlide;
            var slideTo = window.screen.width * -self.activeSlide;
            slider.style.transform = "translateX("+slideTo+"px)";
        },5000);
    },
    this.clear=()=>{
        clearInterval(this.interval);
    }
}

//HTML

<wrapper data-wrapper="slider">
     <control class="fa fa-arrow-circle-o-left fa-2x"></control>
     <slider id="slide1">
         <img src="/media/slide-1.jpg">
         <img src="/media/slide-2.jpg">
         <img src="/media/slide-3.jpg">
     </slider>
     <control class="fa fa-arrow-circle-o-right fa-2x"></control>
</wrapper>

Вопрос: Как я могу сделать переход ползунка от конца к началу, от начала к концу "бесконечным" циклом с плавным движением слева направо (легкость)?


person Community    schedule 10.11.2016    source источник
comment
Предоставьте минимальный воспроизводимый пример, а также добавьте HTML и CSS.   -  person zer00ne    schedule 11.11.2016
comment
@ zer00ne Я использую функцию динамического ассемблера, которую я написал, под названием build, поэтому я передаю объект JSON, который представляет собой набор инструкций по сборке. Хотя конечный результат выложу.   -  person    schedule 11.11.2016
comment
@ zer00ne да, проблема не в том, когда он скользит 3-к-1 или 1-к-3   -  person    schedule 11.11.2016
comment
Клонируйте первый и последний слайды и расположите клоны соответствующим образом.   -  person zer00ne    schedule 11.11.2016
comment
@zer00ne да, именно об этом я и думал   -  person    schedule 11.11.2016
comment
Великие умы думают одинаково, сэр. Вот сообщение от великого ума.   -  person zer00ne    schedule 11.11.2016
comment
@ zer00ne да, это хороший пост. Я думаю, что это единственный способ, мне просто интересно, есть ли более эффективный способ добиться этого, если слайдер содержит изображения с высоким разрешением, это может быть проблемой.   -  person    schedule 11.11.2016
comment
Я был там раньше, это сука. Ленивая загрузка и переформатирование изображений в чередование помогали, но все сводилось к тому, сможет ли пропускная способность пользователя справиться с таким зверем.   -  person zer00ne    schedule 11.11.2016