1const rb_wrap = document.querySelector(".rb_embla"); 2const rb_viewPort = rb_wrap.querySelector(".rb_embla__viewport"); 3const rb_prevBtn = rb_wrap.querySelector(".rb_embla__button--prev"); 4const rb_nextBtn = rb_wrap.querySelector(".rb_embla__button--next"); 5const rb_options = { 6 active: true, 7 loop: false, 8 delay: 4000, 9 slidesToScroll: 'auto', 10 skipSnaps: true 11 } 12const rb_embla = EmblaCarousel(rb_viewPort, rb_options); 13const rb_disablePrevAndNextBtns = disablePrevNextBtns(rb_prevBtn, rb_nextBtn, rb_embla); 14 15const rb_setupPrevNextBtns = (rb_prevBtn, rb_nextBtn, rb_embla) => { 16 rb_prevBtn.addEventListener('click', rb_embla.scrollPrev, false); 17 rb_nextBtn.addEventListener('click', rb_embla.scrollNext, false); 18}; 19 20const rb_disablePrevNextBtns = (rb_prevBtn, rb_nextBtn, rb_embla) => { 21 return () => { 22 if (rb_embla.canScrollPrev()) rb_prevBtn.removeAttribute('disabled'); 23 else rb_prevBtn.setAttribute('disabled', 'disabled'); 24 25 if (rb_embla.canScrollNext()) rb_nextBtn.removeAttribute('disabled'); 26 else rb_nextBtn.setAttribute('disabled', 'disabled'); 27 }; 28}; 29 30rb_setupPrevNextBtns(rb_prevBtn, rb_nextBtn, rb_embla); 31 32rb_embla.on("select", rb_disablePrevAndNextBtns); 33rb_embla.on("init", rb_disablePrevAndNextBtns);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.