1if (undefined !== jQuery) { 2 class I3Theme { 3 constructor() { 4 this.handleScrollTo() 5 this.handleSlickSliders() 6 } 7 8 scrollToTop() { 9 this.resetSliders() 10 this.scrollTo('body') 11 } 12 13 scrollTo(element) { 14 let outerHeight = 0 15 jQuery('.fixed-top').each(function () { 16 outerHeight += $(this).outerHeight() 17 }) 18 19 if (jQuery(element).length > 0) { 20 const top = jQuery(element).position().top - outerHeight 21 window.scrollTo({ 22 top: top > 0 ? top : 0, 23 behavior: 'auto' 24 }) 25 } 26 } 27 28 handleScrollTo() { 29 const _that = this 30 jQuery('[href^="#"]').click(function (e) { 31 e.preventDefault() 32 _that.scrollTo(jQuery(this).attr('href')) 33 }) 34 } 35 36 resetSliders() { 37 jQuery('.slick-slider').each(function (i, e) { 38 const $e = jQuery(e) 39 try { 40 $e.slick('slickGoTo', 0) 41 } catch (ex) {} 42 }) 43 } 44 45 handleSlickSliders() { 46 // Refresh on resize 47 $(window).resize(function () { 48 jQuery('.slick-slider').each(function (i, e) { 49 e.slick.refresh() 50 }) 51 }) 52 53 jQuery('.slick-slider').each(function (i, e) { 54 try { 55 const $e = jQuery(e) 56 const layout = $e.data('layout') 57 $e.slick(layout) 58 59 if (layout.wheelScrollTrigger) { 60 $e.on('wheel', function (e) { 61 e.preventDefault() 62 if (e.originalEvent.deltaY < 0) { 63 $(this).slick('slickPrev') 64 } else { 65 $(this).slick('slickNext') 66 } 67 }) 68 69 gsap.registerPlugin(ScrollTrigger) 70 const tl = gsap.timeline({ 71 scrollTrigger: { 72 trigger: '.container', 73 duration: 1.5, 74 pin: true, 75 scrub: true, 76 start: 'top top', 77 end: '+=3000' 78 } 79 }) 80 81 tl.from( 82 "[data-slick-index='0'] ", 83 { 84 opacity: 1, 85 duration: 10 86 }, 87 '+=1' 88 ).to( 89 "[data-slick-index='5'] ", 90 { 91 opacity: 1, 92 duration: 10, 93 ease: 'power1' 94 }, 95 '+=10' 96 ) 97 } 98 } catch (e) { 99 // console.log(e); 100 } 101 }) 102 } 103 } 104 105 window.i3Theme = new I3Theme() 106}
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.