1console.log('training-result-slider.js LOADED'); 2document.addEventListener('DOMContentLoaded', () => { 3 const slider = document.querySelector('.training-result_documents-slider'); 4 if (!slider) { 5 console.log('Training slider not found'); 6 return; 7 } 8 const track = slider.querySelector('.training-result_documents-track'); 9 const slides = slider.querySelectorAll('.training-result_documents-slide'); 10 const prev = slider.querySelector('.training-result_documents-nav--prev'); 11 const next = slider.querySelector('.training-result_documents-nav--next'); 12 const pagination = slider.querySelector('.training-result_documents-pagination'); 13 if (!track || !slides.length || !prev || !next || !pagination) { 14 console.log('Training slider elements missing'); 15 return; 16 } 17 let current = 0; 18 track.style.display = 'flex'; 19 track.style.transition = 'transform .3s ease'; 20 slides.forEach(slide => { 21 slide.style.flex = '0 0 100%'; 22 }); 23 function update() { 24 track.style.transform = `translateX(-${current * 100}%)`; 25 pagination.textContent = `${current + 1}/${slides.length}`; 26 prev.disabled = current === 0; 27 next.disabled = current === slides.length - 1; 28 } 29 next.addEventListener('click', () => { 30 if (current < slides.length - 1) { 31 current++; 32 update(); 33 } 34 }); 35 prev.addEventListener('click', () => { 36 if (current > 0) { 37 current--; 38 update(); 39 } 40 }); 41 update(); 42 43 if (typeof $ !== 'undefined' && typeof $.fancybox !== 'undefined') { 44 $('[data-fancybox="training-results"]').fancybox({ 45 buttons: ["zoom", "close"], 46 loop: false, 47 protect: true, 48 keyboard: false, 49 arrows: true, 50 infobar: false, 51 idleTime: false, 52 touch: false 53 }); 54 55 // Ð¡Ð¸Ð½Ñ ÑонизаÑиÑ: fancybox Ñам лиÑÑÐ°ÐµÑ ÑÐ²Ð¾Ñ Ð³ÑÑÐ¿Ð¿Ñ Ñвайпом, 56 // и ÑÑо ÑаÑÑ Ð¾Ð´Ð¸ÑÑÑ Ñ current в каÑÑомном ÑлайдеÑе. 57 // ÐоÑÑдок data-fancybox ÑлеменÑов ÑÐ¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ Ñ Ð¿Ð¾ÑÑдком Ñлайдов, 58 // поÑÑÐ¾Ð¼Ñ Ð¿ÑоÑÑо беÑÑм Ð¸Ð½Ð´ÐµÐºÑ Ð¸Ð· fancybox и обновлÑем ÑÑек. 59 $(document).on('afterShow.fb', function (e, instance, slide) { 60 if (!instance || !instance.group || instance.group.length < 2) return; 61 if (slide.index === current) return; 62 current = slide.index; 63 update(); 64 }); 65 } else { 66 console.log('Fancybox not loaded'); 67 } 68});
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.