1/** 2 * ã¹ã¯ãã¼ã«æã®ã¹ã¿ã¤ã«å¶å¾¡ 3 */ 4const targets = document.querySelectorAll('.js-handle-style'); 5if (targets) { 6 // X軸æ¹å 7 targets.forEach((el) => { 8 const scrollElement = el.querySelector('.fn-scroll-content'); 9 if (!scrollElement) 10 return; 11 scrollElement.onscroll = () => { 12 el.classList.add('is-scroll'); 13 const elementWidth = scrollElement.scrollWidth; // è¦ç´ ã®å ¨ä½å¹ 14 const elementVisibleWidth = scrollElement.clientWidth; // è¦ç´ ã®è¡¨ç¤ºé å 15 const elementScrollLeft = elementWidth - elementVisibleWidth; // è¦ç´ ã®ã¹ã¯ãã¼ã«å¯è½ãªæå¤§é 16 const elementScrollPosition = scrollElement.scrollLeft; // ç¾å¨ã®ã¹ã¯ãã¼ã«ä½ç½® 17 // ã¹ã¯ãã¼ã«ã®çµç¹ã¾ã§ 18 if (Math.abs(elementScrollLeft - elementScrollPosition) <= 1) { 19 el.classList.add('is-scroll-end'); 20 } 21 else { 22 el.classList.remove('is-scroll-end'); 23 } 24 // ã¹ã¯ãã¼ã«ã®éå§ç¹ã¾ã§æ»ã 25 if (elementScrollPosition === 0) { 26 el.classList.remove('is-scroll'); 27 } 28 }; 29 }); 30 // Y軸æ¹å 31 targets.forEach((el) => { 32 const scrollYElement = el.querySelector('.fn-scrollY-content'); 33 if (!scrollYElement) 34 return; 35 const elementHeight = scrollYElement.scrollHeight; // è¦ç´ å ¨ä½ã®é«ã 36 const elementVisibleHeight = scrollYElement.clientHeight; // è¦ç´ ã®è¡¨ç¤ºé å 37 if (elementVisibleHeight < elementHeight) { 38 el.classList.add('is-scroll-init'); 39 } 40 scrollYElement.onscroll = () => { 41 el.classList.add('is-scroll'); 42 const elementScrollTop = elementHeight - elementVisibleHeight; // è¦ç´ ã®ã¹ã¯ãã¼ã«å¯è½ãªæå¤§é 43 const elementScrollPosition = scrollYElement.scrollTop; // ç¾å¨ã®ã¹ã¯ãã¼ã«ä½ç½® 44 // ã¹ã¯ãã¼ã«ã®çµç¹ã¾ã§ 45 if (Math.abs(elementScrollTop - elementScrollPosition) <= 1) { 46 el.classList.add('is-scroll-end'); 47 el.classList.remove('is-scroll'); 48 } 49 else { 50 el.classList.remove('is-scroll-end'); 51 } 52 // ã¹ã¯ãã¼ã«ã®éå§ç¹ã¾ã§æ»ã 53 if (elementScrollPosition === 0) { 54 el.classList.remove('is-scroll'); 55 } 56 }; 57 }); 58} 59export {};
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.