Sha256: 944c28d881d5cb8f89dc2f1842a82a08d7402fd77112e41a11732a695e011f77
Contents?: true
Size: 1.88 KB
Versions: 64
Compression:
Stored size: 1.88 KB
Contents
export default class Infinite { constructor(slider) { this.slider = slider; } init() { if (this.slider.options.infinite && this.slider.options.effect === 'translate') { if (this.slider.options.centerMode) { this._infiniteCount = Math.ceil(this.slider.slidesToShow + (this.slider.slidesToShow / 2)); } else { this._infiniteCount = this.slider.slidesToShow; } let frontClones = []; let slideIndex = 0; for (let i = this.slider.state.length; i > (this.slider.state.length - 1 - this._infiniteCount); i -= 1) { slideIndex = (this.slider.state.length * Math.floor(this._infiniteCount / this.slider.state.length) + i - 1) % this.slider.state.length; frontClones.unshift(this._cloneSlide(this.slider.slides[slideIndex], slideIndex - this.slider.state.length)); } let backClones = []; for (let i = 0; i < this._infiniteCount + this.slider.state.length; i += 1) { backClones.push(this._cloneSlide(this.slider.slides[i % this.slider.state.length], i + this.slider.state.length)); } this.slider.slides = [ ...frontClones, ...this.slider.slides, ...backClones ]; } return this; } apply() { } onTransitionEnd(e) { if (this.slider.options.infinite) { if (this.slider.state.next >= this.slider.state.length) { this.slider.state.index = this.slider.state.next = this.slider.state.next - this.slider.state.length; this.slider.transitioner.apply(true); } else if (this.slider.state.next < 0) { this.slider.state.index = this.slider.state.next = this.slider.state.length + this.slider.state.next; this.slider.transitioner.apply(true); } } } _cloneSlide(slide, index) { const newSlide = slide.cloneNode(true); newSlide.dataset.sliderIndex = index; newSlide.dataset.cloned = true; const ids = newSlide.querySelectorAll('[id]') || []; ids.forEach(id => { id.setAttribute('id', ''); }); return newSlide; } }
Version data entries
64 entries across 64 versions & 1 rubygems