cms.initCont('cms.cont.cd.slideshow',function(el){ var wrapper = el.c1Find('.-wrapper'); var slides = wrapper.c1FindAll('> .-frame > .-slides > li '); var ctrlNav = el.c1Find('>.-ctrl'); /* crop images * //requestAnimationFrame(function(){ var width = wrapper.offsetWidth; var height = wrapper.offsetHeight; slides.forEach(function(li, index){ var url = li.getAttribute('data-file')+'/w-'+width+'/h-'+height+'/q-68/img.jpg'; li.style.backgroundImage = 'url("'+url+'")'; }); //}) */ if (slides.length < 2) { el.c1Find('.-next').style.display = 'none'; el.c1Find('.-prev').style.display = 'none'; if (ctrlNav) ctrlNav.style.display = 'none'; return; } /* ctrl navi */ if (ctrlNav) { slides.forEach(function(li, index){ var a = document.createElement('a'); a.href = '#'+li.id; a.innerHTML = '№ '+(index+1); a.addEventListener('click',function(e){ e.preventDefault(); lorySH.slideTo(index); }) ctrlNav.append(a); }); el.addEventListener('after.lory.slide', function(e) { var index = e.detail.currentSlide-1; ctrlNav.querySelectorAll('.-active').forEach(function(el){ el.classList.remove('-active'); }); ctrlNav.children[index].classList.add('-active'); }); ctrlNav.firstElementChild.classList.add('-active'); } // image2 lacyload safari el.addEventListener('before.lory.slide', function(e) { setTimeout(function(){ document.dispatchEvent(new CustomEvent('scroll')); },20); }); el.addEventListener('after.lory.slide', function(e) { document.dispatchEvent(new CustomEvent('scroll')); }); var lorySH = lory(el, { infinite: 0, rewind: true, //enableMouseEvents:1, classNameFrame: '-frame', classNameSlideContainer: '-slides', slideSpeed: 1000, }); el.addEventListener('keydown',function(e){ switch(e.which) { case 13: case 39: lorySH.next(); break case 37: lorySH.prev(); break } }); // autostart var timer = null; var interval = parseInt(el.getAttribute('data-interval')*1000); if (interval) { timer = setInterval(function(){ lorySH.next() },interval); } el.c1Find('.-next').addEventListener('click',function(){ clearInterval(timer); lorySH.next() }); el.c1Find('.-prev').addEventListener('click',function(){ clearInterval(timer); lorySH.prev() }); });