1// --- ãããã mainVisual ã¢ãã¤ã«é«ãèª¿æ´ --- 2 3// DOMãèªã¿è¾¼ã¾ãããå®è¡ 4document.addEventListener('DOMContentLoaded', () => { 5 const header = document.querySelector('#global_header'); 6 const mainVisual = document.querySelector('.main-visual'); 7 8 // ãããã¼ã¾ãã¯ã¡ã¤ã³ãã¸ã¥ã¢ã«ãåå¨ããªãå ´åã¯å¦çã䏿 9 if (!header || !mainVisual) { 10 return; 11 } 12 13 // ã¢ãã¤ã«ãã¬ã¼ã¯ãã¤ã³ããå®ç¾© 14 const MOBILE_BREAKPOINT = 767; 15 16 // 1vhç¸å½ã®é«ããè¨ç®ããCSSã«ã¹ã¿ã ãããã㣠--vh ã«è¨å®ãã颿° 17 const setViewportUnit = () => { 18 // ç¾å¨ã®ã¦ã£ã³ãã¦å¹ ãåå¾ 19 const currentWidth = window.innerWidth; 20 21 // ã¢ãã¤ã«ãµã¤ãºä»¥ä¸ã®å ´åã®ã¿å¦çãå®è¡ 22 if (currentWidth <= MOBILE_BREAKPOINT) { 23 // 表示é åã®é«ãï¼100vhç¸å½ï¼ãè¨ç® 24 let vh = window.innerHeight * 0.01; 25 26 // CSSã«ã¹ã¿ã ãããã㣠--vh ã«å¤ãè¨å® 27 // ããã«ãããindex.cssã§ 100*var(--vh) ã®è¨ç®ãå¯è½ã«ãªãã¾ãã 28 document.documentElement.style.setProperty('--vh', `${vh}px`); 29 30 // main-visualã®marginTopã¯CSSã§å¶å¾¡ãããããJavaScriptããåé¤ 31 // mainVisual.style.marginTop = `${header.offsetHeight}px`; 32 } else { 33 // ãã¹ã¯ããããµã¤ãºã®å ´åã¯ã«ã¹ã¿ã ããããã£ããªã»ãã 34 document.documentElement.style.removeProperty('--vh'); 35 // mainVisual.style.marginTop ããªã»ããï¼CSSã§è¨å®ãããå¤ã使ç¨ï¼ 36 } 37 }; 38 39 // ãã¼ã¸èªã¿è¾¼ã¿æã¨ã¦ã£ã³ãã¦ãªãµã¤ãºæã«é«ããåè¨ç® 40 window.addEventListener('resize', setViewportUnit); 41 setViewportUnit(); // åæèªã¿è¾¼ã¿æã«ãå®è¡ 42}); 43 44// --- ããã¾ã§ mainVisual ã¢ãã¤ã«é«ãèª¿æ´ --- 45 46// --- ãããã Slider --- 47$(function () { 48 $('#gh_nav_home').addClass('is-active'); 49 50 $('#top_visual').slick({ 51 dots: true, 52 fade: true, 53 autoplay: true, 54 autoplaySpeed: 4000, 55 slidesToShow: 1, 56 slidesToScroll: 1, 57 infinite: true, 58 speed: 800, 59 }); 60 61 $('#special_bnn_wrap ul').slick({ 62 dots: true, 63 appendArrows: '#special_bnn', 64 appendDots: '#special_bnn', 65 autoplay: true, 66 autoplaySpeed: 4000, 67 slidesToShow: 4, 68 slidesToScroll: 1, 69 infinite: true, 70 speed: 800, 71 responsive: [ 72 { 73 breakpoint: 641, 74 settings: { 75 centerMode: true, 76 slidesToShow: 2, 77 }, 78 }, 79 { 80 breakpoint: 450, 81 settings: { 82 centerMode: true, 83 slidesToShow: 1, 84 }, 85 }, 86 ], 87 }); 88}); 89 90// --- ãããã Top Slider --- 91$(document).ready(function () { 92 $('.top-slider').slick({ 93 infinite: true, 94 speed: 500, 95 slidesToShow: 3, //ã¹ã©ã¤ãã®æ°ã2.5 â 3ãã«å¤æ´_260309 96 centerMode: true, 97 //centerPadding: '225px', 98 centerPadding: '0', 99 dots: false, 100 arrows: true, 101 prevArrow: '<button type="button" class="slick-prev"></button>', 102 nextArrow: '<button type="button" class="slick-next"></button>', 103 responsive: [ 104 { 105 breakpoint: 1024, 106 settings: { 107 slidesToShow: 3, //ã¹ã©ã¤ãã®æ°ã2 â 3ãã«å¤æ´_260309 108 centerPadding: '100px', 109 arrows: true, 110 }, 111 }, 112 { 113 breakpoint: 767, 114 settings: { 115 slidesToShow: 1, 116 centerPadding: '130px', 117 arrows: true, 118 }, 119 }, 120 { 121 breakpoint: 640, 122 settings: { 123 slidesToShow: 1, 124 centerPadding: '40px', 125 arrows: true, 126 }, 127 }, 128 ], 129 }); 130}); 131// --- ããã¾ã§ Top Slider --- 132 133// --- ãããã Group Synergy --- 134$(document).ready(function () { 135 // --- DOMè¦ç´ ã®åå¾ --- 136 const $prevImg = $('#prev-image-container img'); 137 const $mainImg = $('#main-image-container img'); 138 const $nextImg = $('#next-image-container img'); 139 const $prevContainer = $('#prev-image-container'); 140 const $mainContainer = $('#main-image-container'); 141 const $nextContainer = $('#next-image-container'); 142 const $navItems = $('.slide-nav-item'); 143 const $sliderWrapper = $('.slider-content-wrapper'); // ã¹ã¯ã¤ãã¤ãã³ãç¨ 144 const $detailTrack = $('.detail-slider-track'); 145 const $detailButton = $('.detail-info-box .detail-button'); // ãã¿ã³è¦ç´ ãåå¾ 146 const $mainImageLink = $('#main-image-link'); 147 const $textContentLink = $('#text-content-link'); 148 const $root = $(':root'); // CSS夿°ãæä½ãããã 149 150 // --- ã¹ã©ã¤ããã¼ã¿ --- 151 // HTMLã®data屿§ããã¹ã©ã¤ããã¼ã¿ãåçã«çæ 152 const slideData = $navItems 153 .map(function () { 154 return $(this).data(); 155 }) 156 .get(); 157 const totalSlides = slideData.length; 158 159 // --- ç¶æ 管ç --- 160 let currentIndex = 0; 161 let isAnimating = false;
162 const animationDuration = 400; // ã¢ãã¡ã¼ã·ã§ã³ã®æéãçããã¦é度ãä¸ãã 163 164 /** 165 * æå®ããã¤ã³ããã¯ã¹ã«ã¹ã©ã¤ããç§»åããã 166 * @param {number} newIndex - æ°ããã¹ã©ã¤ãã®ã¤ã³ããã¯ã¹ 167 * @param {number} [explicitDirection] - ã¢ãã¡ã¼ã·ã§ã³æ¹åãå¼·å¶ããå ´åã«æå® (1: 次ã¸, -1: åã¸) 168 */ 169 function goToSlide(newIndex, explicitDirection) { 170 if (isAnimating || newIndex === currentIndex) return; 171 172 // ã¢ãã¡ã¼ã·ã§ã³ã®æ¹åãæ±ºå® 173 let direction = explicitDirection; 174 if (!direction) { 175 // explicitDirectionãæªæå®ã®å ´åãã¤ã³ããã¯ã¹ã®å·®ããæ¹åãè¨ç® 176 const diff = newIndex - currentIndex; 177 if (Math.abs(diff) > 1) { 178 // ã©ããã¢ã©ã¦ã³ãããå ´å (ä¾: 0 -> 4, 4 -> 0) 179 direction = diff > 0 ? -1 : 1; 180 } else { 181 direction = diff; 182 } 183 } 184 185 isAnimating = true; 186 // CSS夿°ãè¨å®ãã¦ã¢ãã¡ã¼ã·ã§ã³ã®æ¹åãæ±ºå® 187 $root.get(0).style.setProperty('--direction', direction); 188 189 // ã¢ãã¡ã¼ã·ã§ã³éå§æã®ç»åãè¨å®ï¼æ¬¡ã®ç»åãäºåã«èªã¿è¾¼ã¾ããï¼ 190 updateDisplay(currentIndex, newIndex, direction); 191 192 // --- ããã¹ãã¢ãã¡ã¼ã·ã§ã³ã®æºå --- 193 // is-activeã§ãªãæ¹ã®ã¹ã©ã¤ããæ¬¡ã®ã³ã³ãã³ãç¨ã«æºå 194 const $activeTextSlide = $detailTrack.find('.detail-content-slide.is-active'); 195 const $nextTextSlide = $detailTrack.find('.detail-content-slide:not(.is-active)'); 196 197 // 次ã®ã¹ã©ã¤ãã®æ å ±ãã»ãã 198 const newData = slideData[newIndex]; 199 $nextTextSlide.find('.slider-title').text(newData.title); 200 $nextTextSlide.find('.slider-subtitle').text(newData.subtitle); 201 $nextTextSlide.find('.slider-description').text(newData.desc); 202 203 // æ¹åã«å¿ãã¦ã¹ã©ã¤ãã®é åºã¨ã¢ãã¡ã¼ã·ã§ã³ã®åããæ±ºå® 204 if (direction === 1) { 205 $detailTrack.removeClass('is-reversing'); 206 $nextTextSlide.insertAfter($activeTextSlide); 207 } else { 208 $detailTrack.addClass('is-reversing'); 209 $nextTextSlide.insertBefore($activeTextSlide); 210 } 211 212 // ãã¿ã³ã®ãªã³ã¯å ãæ´æ° 213 $detailButton.attr('href', newData.link); 214 $mainImageLink.attr('href', newData.link); 215 $textContentLink.attr('href', newData.link); 216 217 // ã¢ãã¡ã¼ã·ã§ã³ï¼ããã°ã¬ã¹ã0ãã1ã¸ï¼ 218 // ã¤ã¼ã¸ã³ã°é¢æ° (cubic-bezier(0.65, 0, 0.35, 1)) 219 const ease = (t) => (t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2); 220 let startTime = null; 221 function animate(currentTime) { 222 if (!startTime) startTime = currentTime; 223 const elapsedTime = currentTime - startTime; 224 const progress = Math.min(elapsedTime / animationDuration, 1); 225 226 // CSS夿° --progress ãæ´æ° 227 const easedProgress = ease(progress); 228 $root.get(0).style.setProperty( 229 '--progress', 230 easedProgress // ç»åã¹ã©ã¤ãã¼ 231 ); 232 $root.get(0).style.setProperty( 233 '--text-progress', 234 easedProgress // ããã¹ãã¹ã©ã¤ãã¼ 235 ); 236 237 if (progress < 1) { 238 requestAnimationFrame(animate); 239 } else { 240 // ã¢ãã¡ã¼ã·ã§ã³çµäºå¦ç 241 currentIndex = newIndex; 242 // ã¢ãã¡ã¼ã·ã§ã³å®äºå¾ã®æçµç¶æ ã«æ´æ° 243 updateDisplay(currentIndex); 244 // ããã°ã¬ã¹ã¨transformããªã»ãã 245 $root.get(0).style.setProperty('--progress', 0); 246 $root.get(0).style.setProperty('--text-progress', 0); 247 248 // --- ããã¹ãã¢ãã¡ã¼ã·ã§ã³ã®å¾å¦ç --- 249 $activeTextSlide.removeClass('is-active'); 250 $nextTextSlide.addClass('is-active'); 251 252 isAnimating = false; 253 } 254 } 255 requestAnimationFrame(animate); 256 } 257 258 /** 259 * 表示ãã¾ã¨ãã¦æ´æ°ãã颿° 260 * @param {number} currentIdx 表示ã®åºæºã¨ãªãã¹ã©ã¤ãã®ã¤ã³ããã¯ã¹ 261 * @param {number} [nextActiveIdx] ã¢ãã¡ã¼ã·ã§ã³ä¸ã«ã¢ã¯ãã£ãã«ãªãã¹ã©ã¤ãã®ã¤ã³ããã¯ã¹ 262 * @param {number} [direction] ã¢ãã¡ã¼ã·ã§ã³ã®æ¹å (1 or -1) 263 */ 264 function updateDisplay(currentIdx, nextActiveIdx, direction) { 265 // ç¡éã«ã¼ãã®ããã®ã¤ã³ããã¯ã¹è¨ç® 266 const prevIndex = (currentIdx - 1 + totalSlides) % totalSlides; 267 const nextIndex = (currentIdx + 1) % totalSlides; 268 269 // 1. ç»åã½ã¼ã¹ãæ´æ° 270 $prevImg.attr('src', slideData[prevIndex].src); 271 $mainImg.attr('src', slideData[currentIdx].src); 272 $nextImg.attr('src', slideData[nextIndex].src); 273 274 // çä¼¼è¦ç´ ã«æ¬¡ã®ç»åãè¨å® 275 if (nextActiveIdx !== undefined && direction !== undefined) { 276 const nextPrevIndex = (prevIndex + direction + totalSlides) % totalSlides; 277 const nextMainIndex = (currentIdx + direction + totalSlides) % totalSlides; 278 const nextNextIndex = (nextIndex + direction + totalSlides) % totalSlides; 279 $prevContainer.get(0).style.setProperty('--next-src', `url(${slideData[nextPrevIndex].src})`); 280 $mainContainer.get(0).style.setProperty('--next-src', `url(${slideData[nextMainIndex].src})`); 281 $nextContainer.get(0).style.setProperty('--next-src', `url(${slideData[nextNextIndex].src})`); 282 } 283 284 // 2. ããã¹ããæ´æ° 285 // ã¢ãã¡ã¼ã·ã§ã³ä¸ã¯æ¬¡ã®ããã¹ãããå®äºå¾ã¯ç¾å¨ã®ããã¹ãã表示 286 const textDisplayIndex = nextActiveIdx !== undefined ? nextActiveIdx : currentIdx; 287 if (nextActiveIdx === undefined) { 288 // ã¢ãã¡ã¼ã·ã§ã³å®äºæã®ã¿DOMãæ´æ° 289 const currentData = slideData[textDisplayIndex]; 290 const $activeSlide = $detailTrack.find('.detail-content-slide.is-active'); 291 $activeSlide.find('.slider-title').text(currentData.title); 292 $activeSlide.find('.slider-subtitle').text(currentData.subtitle); 293 $activeSlide.find('.slider-description').text(currentData.desc); 294 $detailButton.attr('href', currentData.link); 295 $('#main-image-link').attr('href', currentData.link); 296 $('#text-content-link').attr('href', currentData.link); 297 } 298 299 // 3. ããã²ã¼ã·ã§ã³ã®ãã¤ã©ã¤ããæ´æ° 300 $navItems.removeClass('is-active'); 301 $navItems.eq(textDisplayIndex).addClass('is-active'); 302 } 303 304 // --- ã¤ãã³ããªã¹ãã¼ã®è¨å® --- 305 306 // å·¦å´ã®ã¿ã¤ãã«ããã²ã¼ã·ã§ã³ 307 $navItems.on('click', function () { 308 const index = $(this).data('index'); 309 goToSlide(index); 310 }); 311 312 // ã«ã¹ã¿ã ç¢å°ï¼å㸠313 $('#custom-prev').on('click', function () { 314 const newIndex = (currentIndex - 1 + totalSlides) % totalSlides; 315 goToSlide(newIndex, -1); // æ¹åã-1ï¼åã¸ï¼ã¨æç¤º 316 }); 317 318 // ã«ã¹ã¿ã ç¢å°ï¼æ¬¡ã¸ 319 $('#custom-next').on('click', function () { 320 const newIndex = (currentIndex + 1) % totalSlides; 321 goToSlide(newIndex, 1); // æ¹åã1ï¼æ¬¡ã¸ï¼ã¨æç¤º 322 }); 323 324 // ã¹ã¯ã¤ãæä½ 325 let touchStartX = 0; 326 let touchEndX = 0; 327 const swipeThreshold = 50; // ã¹ã¯ã¤ãã¨å¤å®ããæå°ç§»åãã¯ã»ã«æ° 328 329 $sliderWrapper.on('touchstart', function (e) { 330 touchStartX = e.originalEvent.changedTouches[0].screenX; 331 }); 332 333 $sliderWrapper.on('touchend', function (e) { 334 touchEndX = e.originalEvent.changedTouches[0].screenX; 335 handleSwipe(); 336 }); 337 338 function handleSwipe() { 339 const swipeDistance = touchEndX - touchStartX; 340 if (swipeDistance > swipeThreshold) { 341 // å³ã¸ã¹ã¯ã¤ã -> åã®ã¹ã©ã¤ã㸠342 $('#custom-prev').trigger('click'); 343 } else if (swipeDistance < -swipeThreshold) { 344 // å·¦ã¸ã¹ã¯ã¤ã -> 次ã®ã¹ã©ã¤ã㸠345 $('#custom-next').trigger('click'); 346 } 347 } 348 349 // ãã¦ã¹ãã©ãã°æä½
350 let mouseStartX = 0; 351 let mouseEndX = 0; 352 let isDragging = false; // ãã¦ã¹ããã©ãã°ä¸ãã©ããã追跡ãããã©ã° 353 354 $sliderWrapper.on('mousedown', function (e) { 355 // å·¦ã¯ãªãã¯ã®ã¿ã対象ã¨ãã 356 if (e.button !== 0) return; 357 358 isDragging = true; 359 mouseStartX = e.clientX; 360 // ããã©ã«ãã®ãã©ã¦ã¶ã®ãã©ãã°åä½ï¼ç»åãã©ãã°ãããã¹ã鏿ï¼ã鲿¢ 361 e.preventDefault(); 362 }); 363 364 $(document).on('mousemove', function (e) { 365 if (!isDragging) return; 366 mouseEndX = e.clientX; 367 }); 368 369 $(document).on('mouseup', function (e) { 370 if (!isDragging) return; 371 isDragging = false; 372 mouseEndX = e.clientX; 373 handleMouseDrag(); 374 }); 375 376 // ãã©ãã°ãçµäºããéã«ãéå§ä½ç½®ã¨çµäºä½ç½®ããªã»ãã 377 function handleMouseDrag() { 378 const dragDistance = mouseEndX - mouseStartX; 379 // handleSwipeã¨åããã¸ãã¯ã§ã¯ãªãã¯ã¤ãã³ããããªã¬ã¼ 380 if (dragDistance > swipeThreshold) { 381 $('#custom-prev').trigger('click'); // å³ã¸ãã©ãã° -> åã®ã¹ã©ã¤ã㸠382 } else if (dragDistance < -swipeThreshold) { 383 $('#custom-next').trigger('click'); // å·¦ã¸ãã©ãã° -> 次ã®ã¹ã©ã¤ã㸠384 } 385 // 次ã®ãã©ãã°ã®ããã«åº§æ¨ããªã»ãã 386 mouseStartX = 0; 387 mouseEndX = 0; 388 } 389 390 // --- åæå --- 391 function init() { 392 // CSS夿°ãåæå 393 $root.get(0).style.setProperty('--progress', 0); 394 $root.get(0).style.setProperty('--direction', 1); 395 $root.get(0).style.setProperty('--text-progress', 0); 396 // åæè¡¨ç¤º 397 $detailTrack.find('.detail-content-slide').first().addClass('is-active'); 398 updateDisplay(currentIndex); 399 } 400
401 init(); 402}); 403// --- ããã¾ã§ Group Synergy --- 404 405// --- ãããã News --- 406document.addEventListener('alpine:init', () => { 407 Alpine.data('newsData', () => ({ 408 newsItems: [], 409 selectedTab: 'æ°çæ å ±', 410 tabs: [ 411 { name: 'æ°çæ å ±', categories: ['all'] }, 412 { 413 name: 'ãã¥ã¼ã¹ãªãªã¼ã¹', 414 // ãã£ã«ã¿ãªã³ã°ã«å¿ è¦ãªæ å ±ãä¿æ 415 target_key: 'news_release', 416 //categories: ['ãã¥ã¼ã¹ãªãªã¼ã¹', 'ãã¬ã¹ãªãªã¼ã¹', '建æäºæ¥', 'ãããªã¢ã«äºæ¥', '忥æ½è¨äºæ¥', 'å½éäºæ¥', 'é 忡大'], 417 categories: ['ãã¥ã¼ã¹ãªãªã¼ã¹', 'ãã¬ã¹ãªãªã¼ã¹', 'ãç¥ãã', , '大åãªãç¥ãã', '建æäºæ¥', 'ãããªã¢ã«äºæ¥', '忥æ½è¨äºæ¥', 'å½éäºæ¥', 'é 忡大'], 418 }, 419 { 420 name: 'IRæ å ±', 421 // ãã£ã«ã¿ãªã³ã°ã«å¿ è¦ãªæ å ±ãä¿æ 422 target_key: 'disclosure', 423 //categories: ['é示æ å ±', 'éç¤ºè³æ', 'ãç¥ãã', 'æ ªä¸»ç·ä¼', 'æ ªä¸»éä¿¡'], 424 categories: ['é示æ å ±', 'éç¤ºè³æ', 'IRãç¥ãã', 'æ ªä¸»ç·ä¼', 'æ ªä¸»éä¿¡'], 425 }, 426 ], 427 // ç¹å®ã®categoryã®è²ã夿´ 428 categoryStyles: { 429 建æäºæ¥: 'is-group', 430 ãããªã¢ã«äºæ¥: 'is-group', 431 忥æ½è¨äºæ¥: 'is-group', 432 å½éäºæ¥: 'is-group', 433 é 忡大: 'is-group', 434 éç¤ºè³æ: 'is-accounts', 435 ãç¥ãã: 'is-notice',
436 大åãªãç¥ãã: 'is-notice', 437 IRãç¥ãã: 'is-notice', 438 æ ªä¸»ç·ä¼: 'is-meeting', 439 æ ªä¸»éä¿¡: 'is-stockholder', 440 }, 441 442 fetchNews(url) { 443 fetch(url) 444 .then((response) => response.json()) 445 .then((data) => { 446 this.newsItems = data.map((item) => ({ 447 ...item, 448 title_html: item.title ? item.title.replace(/\n/g, '<br>') : '', 449 targetBlank: item.targetBlank === true, 450 })); 451 }); 452 }, 453 454 // 鏿ãããã«ãã´ãªã«åºã¥ãã¦ãã¥ã¼ã¹ããã£ã«ã¿ãªã³ã° 455 filteredNews() { 456 const sortedNews = [...this.newsItems].sort((a, b) => { 457 const dateA = a.date.replace(/\./g, ''); 458 const dateB = b.date.replace(/\./g, ''); 459 return dateB.localeCompare(dateA); 460 }); 461 462 const currentTab = this.tabs.find((tab) => tab.name === this.selectedTab); 463 464 if (!currentTab) { 465 return []; 466 } 467 468 if (currentTab.categories.includes('all')) { 469 return sortedNews.slice(0, 6); 470 } else { 471 const targetKey = currentTab.target_key; // target_key ãåå¾ 472 473 const filtered = sortedNews.filter((item) => { 474 // ãéè¦ã ã«ãã´ãªãä¸è´ããããã¾ã㯠tab_target ãä¸è´ãããã§ãã£ã«ã¿ãªã³ã° 475 // target_key ãå®ç¾©ããã¦ããã¿ãã®å ´åãtab_target ããã§ãã¯ãã 476 const isCategoryMatch = currentTab.categories.includes(item.category); 477 const isTargetMatch = targetKey && (item.tab_target === targetKey || item.tab_target === 'both'); 478 479 // ããã¥ã¼ã¹ãªãªã¼ã¹ãã¨ãé示æ å ±ãã¿ãã§ã¯ãã«ãã´ãªã¨ tab_target ã®ä¸¡æ¹ãã¾ãã¯ã©ã¡ããã§ãã£ã«ã¿ãªã³ã° 480 // ããã§ã¯ tab_target ãåªå ãã¦ãå®å ¨ã«åé¢ãã¾ãã 481 // ãã ãã建æäºæ¥ãªã©ã®ãã¥ã¼ã¹ã¯ tab_target ãç¡ãã¦ã category ã§è¡¨ç¤ºãããå¿ è¦ãããããã 482 // ã«ãã´ãªã«ãããã£ã«ã¿ãªã³ã°ãç¶æãã¾ãã 483 484 // 1. categoryãtabsã®categoriesã«å«ã¾ãã AND 485 // 2. JSONã§å®ç¾©ããã tab_target ã currentTabã®target_keyã«ä¸è´ããã'both'ã§ãã 486 487 if (currentTab.name === 'ãã¥ã¼ã¹ãªãªã¼ã¹') { 488 // ãã¥ã¼ã¹ãªãªã¼ã¹é¢é£ã¿ãã®ã«ãã´ãªï¼å»ºæäºæ¥ãªã©ï¼ããã§ã㯠489 if (currentTab.categories.includes(item.category)) { 490 // ãã ãããé示æ å ±ãã¯é¤å¤ãã 491 if ( 492 item.category === 'é示æ å ±' || 493 item.category === 'éç¤ºè³æ' || 494 item.category === 'IRãç¥ãã' || 495 item.category === 'æ ªä¸»ç·ä¼' || 496 item.category === 'æ ªä¸»éä¿¡' 497 ) { 498 return false; 499 } 500 return true; 501 } 502 } 503 504 // ãIRæ å ±ãã¿ãã®å ´å 505 if (currentTab.name === 'IRæ å ±') { 506 // é示æ å ±é¢é£ã®ã«ãã´ãªããã§ã㯠507 if (currentTab.categories.includes(item.category)) { 508 return true; 509 } 510 } 511 512 // JSONã« tab_target ãããå ´åã¯ãããããã£ã«ã¿ãªã³ã°ã®ä¸»è¦ãªæ¡ä»¶ã¨ãã¾ãã 513 return item.tab_target === targetKey || item.tab_target === 'both'; 514 }); 515 return filtered.slice(0, 6); 516 } 517 }, 518 })); 519}); 520 521// --- ããã¾ã§ News --- 522 523// --- hero-section movie --- 524document.addEventListener('DOMContentLoaded', () => { 525 const hero = document.getElementById('hero-section'); 526 const video = document.getElementById('hero-video'); 527 const playBtn = document.getElementById('play-button'); 528 const muteBtn = document.getElementById('mute-button'); 529 530 hero.classList.add('is-playing'); 531 532 // åçã»ä¸æåæ¢ãã¿ã³ã¯ãªã㯠533 playBtn.addEventListener('click', () => { 534 if (video.paused) { 535 video.play(); 536 hero.classList.add('is-playing'); 537 } else { 538 video.pause(); 539 hero.classList.remove('is-playing'); 540 } 541 }); 542 543 // åç»ãçµäºããæã®å¦çï¼ã«ã¼ãè¨å®ã«ãã¦ããããæåã§æ»ãå ´åãªã©ï¼ 544 video.addEventListener('ended', () => { 545 // å¿ è¦ã«å¿ãã¦åæç¶æ ã«æ»ã 546 hero.classList.remove('is-playing'); 547 }); 548});
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.