// JavaScript Document // Androidのユーザーエージェント判別(CSSハック用) (function ($) { if (navigator.userAgent.indexOf('Android') > 0) { let body = document.getElementsByTagName('body')[0]; body.classList.add('android'); } })(jQuery); // YouTubeの全画面表示対策 (function ($) { var remove = function () { $('#sidebar').removeClass('animate'); }; setTimeout(remove, 1700); })(jQuery); (function ($) { $('.js--hamburger-trigger').click(function () { // クラス追加でデザイン変更 $(this).toggleClass('js--hamburger-active'); $('html').toggleClass('js--hamburger-hidden'); $('.o--hamburger-menu-container').toggleClass('js--hamburger-open'); }); })(jQuery); //ヘッダーのsearchform (function ($) { $('#headerSearch').click(function () { $(this).toggleClass('js--btn-active'); if ($(this).hasClass('js--btn-active')) { $(this).removeClass('js--btn-nonactive'); $(this).find('#headerSearchIcon').removeClass('jin-ifont-searchthin').addClass('jin-ifont-batuthin'); $(this).find('#headerSearchLabel').html('archIcon').removeClass('jin-ifont-batuthin').addClass('jin-ifont-searchthin'); $(this).find('#headerSearchLabel').html('SEARCH'); } $('#HeaderSearchForm').toggleClass('js--form-active'); $('#searchFormText').focus(); }); $(document).on('click', function (e) { if ($('#headerSearch').hasClass('js--btn-active')) { if (!$(e.target).closest('#HeaderSearchForm').length && !$(e.target).closest('#headerSearch').length) { $('#headerSearch').toggleClass('js--btn-active'); $('#headerSearch').addClass('js--btn-nonactive'); $('#HeaderSearchForm').removeClass('js--form-active'); $('#headerSearch').find('#headerSearchIcon').removeClass('jin-ifont-batuthin').addClass('jin-ifont-searchthin'); $('#headerSearch').find('#headerSearchLabel').html('SEARCH'); } } }); })(jQuery); // アコーディオンを動かす (function ($) { $('.a--accordion-title').click(function () { if ($(this).prevAll('.a--accordion-toggle').hasClass('js-accordion-toggle')) { $(this).prevAll('.a--accordion-toggle').removeClass('js-accordion-toggle'); } else { $(this).prevAll('.a--accordion-toggle').addClass('js-accordion-toggle'); } $(this).next('.c--accordion-contents').slideToggle(270); }); })(jQuery); //CVボタンの表示制御 (function ($) { $(window).on('load scroll', function () { if ($(this).scrollTop() > 600) { $('#cvButton').addClass('js--cvb-active'); } else { $('#cvButton').removeClass('js--cvb-active'); } }); $(document).ready(function () { if ($('#cvButton').length) { $('#commonFooter').addClass('js--cvb-display'); } }); })(jQuery); //SNSシェアボタンにあるURLコピー (function ($) { $('#jinrCopyUrl').click(function () { var url = $(this).data('url'); navigator.clipboard.writeText(url); // フラッシュメッセージ表示 $('#jinrCopySuccess,#jinrCopySuccessBg').fadeIn(450, function () { $(this).delay(600).fadeOut(450); }); }); })(jQuery); //関連記事のスクロール (function ($) { // 関連記事がある記事のみ const relatedPostInner = document.getElementById('jinrRelatedPostInner'); if (!relatedPostInner) return; const scrollTarget = document.getElementsByClassName('o--postlist-inner')[0]; const clientWidth = scrollTarget.clientWidth; const scrollWidth = scrollTarget.scrollWidth; // 必要な要素が取得されなかった場合は早期returnする if (!scrollTarget) return; if (!clientWidth) return; if (!scrollWidth) return; const postCount = relatedPostInner.querySelectorAll('.o--postlist-item').length; if (postCount >= 5) { relatedPostInner.querySelector('.o--postlist-inner').insertAdjacentHTML('beforebegin', ''); relatedPostInner.querySelector('.o--postlist-inner').insertAdjacentHTML('afterend', ''); } else { return; } const scrollPrev = document.querySelector('.a--scroll-prev'); const scrollNext = document.querySelector('.a--scroll-next'); let timeoutId; scrollTarget.addEventListener( 'scroll', function () { clearTimeout(timeoutId); scrollPrev.classList.add('js--scroll-active'); scrollNext.classList.add('js--scroll-active'); if (scrollWidth - (clientWidth + scrollTarget.scrollLeft) == 0) { scrollNext.classList.remove('js--scroll-active'); scrollPrev.classList.add('js--scroll-active'); } if (scrollTarget.scrollLeft == 0) { scrollPrev.classList.remove('js--scroll-active'); } }, true ); relatedPostInner.addEventListener('click', (e) => { if (e.target.classList.contains('a--scroll-next')) { $('#jinrRelatedPostInner .d--postlist-slider').animate( { scrollLeft: scrollTarget.scrollLeft + 1092, }, 300 ); if (!scrollTarget.scrollLeft == 0) { e.target.classList.add('js--scroll-active'); } scrollTarget.onscroll = function () { if (scrollWidth - (clientWidth + scrollTarget.scrollLeft) == 0) { e.target.classList.remove('js--scroll-active'); } }; scrollTarget.addEventListener( 'scroll', function () { scrollTarget.onscroll = function () { if (scrollWidth - (clientWidth + scrollTarget.scrollLeft) == 0) { e.target.classList.remove('js--scroll-active'); } }; }, true ); } }); relatedPostInner.addEventListener('click', (e) => { if (e.target.classList.contains('a--scroll-prev')) { $('#jinrRelatedPostInner .d--postlist-slider').animate( { scrollLeft: scrollTarget.scrollLeft - 1092, }, 300 ); scrollTarget.addEventListener( 'scroll', function () { scrollTarget.onscroll = function () { if (scrollTarget.scrollLeft == 0) { e.target.classList.remove('js--scroll-active'); } }; }, true ); scrollTarget.scrollLeft -= 100; if (!scrollTarget.scrollLeft == 0) { e.target.classList.add('js--scroll-active'); e.target.classList.add('js--scroll-active'); } } }); })(jQuery); (function ($) { function jinrArrowButtonWidget(id) { const widgetWrapper = document.getElementById(id); if (!widgetWrapper) return; const widgetPostSlider = widgetWrapper.getElementsByClassName('d--postlist-slider'); if (!widgetPostSlider.length) return; for(let i = 0; i < widgetPostSlider.length; i++){ const postCount = widgetPostSlider[i].getElementsByClassName('o--postlist-item').length; if (postCount >= 5) { const clientWidth = widgetPostSlider[i].clientWidth; const scrollWidth = widgetPostSlider[i].scrollWidth; widgetPostSlider[i].insertAdjacentHTML('beforebegin', ``); widgetPostSlider[i].insertAdjacentHTML('afterend', ``); const widgetScrollPrev = widgetWrapper.querySelectorAll('.a--scroll-prev')[i]; const widgetScrollNext = widgetWrapper.querySelectorAll('.a--scroll-next')[i]; let timeoutId; widgetPostSlider[i].addEventListener( 'scroll', function () { clearTimeout(timeoutId); if (scrollWidth - (clientWidth + widgetPostSlider[i].scrollLeft) == 0) { widgetScrollNext.classList.remove('js--scroll-active'); widgetScrollPrev.classList.add('js--scroll-active'); } else { widgetScrollPrev.classList.add('js--scroll-active'); } if (widgetPostSlider[i].scrollLeft == 0) { widgetScrollPrev.classList.remove('js--scroll-active'); widgetScrollNext.classList.add('js--scroll-active'); } }, true ); widgetScrollNext.addEventListener('click', (e) => { const nextsliderIndex = e.target.getAttribute('data-slider-index'); const nextslider = widgetPostSlider[nextsliderIndex]; $(nextslider).animate( { scrollLeft: nextslider.scrollLeft + 1092, }, 300 ); if (!nextslider.scrollLeft == 0) { e.target.classList.add('js--scroll-active'); } nextslider.onscroll = function () { if (scrollWidth - (clientWidth + nextslider.scrollLeft) == 0) { e.target.classList.remove('js--scroll-active'); } }; widgetPostSlider[nextsliderIndex].addEventListener( 'scroll', function () { widgetPostSlider[nextsliderIndex].onscroll = function () { if (scrollWidth - (clientWidth + widgetPostSlider[nextsliderIndex].scrollLeft) == 0) { e.target.classList.remove('js--scroll-active'); } }; }, true ); }); widgetScrollPrev.addEventListener('click', (e) => { const prevSliderIndex = e.target.getAttribute('data-slider-index'); const prevSlider = widgetPostSlider[prevSliderIndex]; $(prevSlider).animate( { scrollLeft: widgetPostSlider[i].scrollLeft - 1092, }, 300 ); widgetPostSlider[prevSliderIndex].addEventListener( 'scroll', function () { widgetPostSlider[prevSliderIndex].onscroll = function () { if (widgetPostSlider[prevSliderIndex].scrollLeft == 0) { e.target.classList.remove('js--scroll-active'); } }; }, true ); prevSlider.scrollLeft -= 100; if (!prevSlider.scrollLeft == 0) { e.target.classList.add('js--scroll-active'); e.target.classList.add('js--scroll-active'); } }); } else { return; } } } jinrArrowButtonWidget('footer-widget'); jinrArrowButtonWidget('jinr-posttop-widget-area'); jinrArrowButtonWidget('jinr-postbottom-widget-area'); jinrArrowButtonWidget('jinr-relatedpost-bottom-widget-area'); })(jQuery); //表示アニメーション (function ($) { var $target = $('.js--scr-animation'); var offset = 100; $(window).on('scroll', function() { var scroll = $(window).scrollTop(); var h = $(window).height(); $target.each(function() { var pos = $(this).offset().top; if (scroll > pos - h + offset) { if($(this).hasClass("b--jinr-button")){ $(this).children(".o--button-inner").addClass('is-animated'); }else{ $(this).addClass('is-animated'); } } }) }).trigger('scroll'); })(jQuery); // スムーススクロールをRTOCに干渉しないように追加する (function ($) { const anchors = document.querySelectorAll('a[href^="#"]'); const header = document.querySelector('header'); let headerOffset = 0; if (header) { if (headerTracking.tracking_info === 'd--header-tracking-on') { headerOffset = header.offsetHeight; }else{ headerOffset = 15; } } else { headerOffset = 15; } for ( let i = 0; i < anchors.length; i++ ) { anchors[i].addEventListener('click', (e) => { e.preventDefault(); if (e.target.closest('#rtoc-mokuji-wrapper')) { return; } else { const href= anchors[i].getAttribute("href"); const target = document.getElementById(href.replace('#', '')); if (target) { const position = window.pageYOffset + target.getBoundingClientRect().top - headerOffset - 30; window.scroll({ top: position, behavior: 'smooth' }); } } }); } })(jQuery); (function ($) { $.ajax({ type: "POST", url: jinr_ajax_common.ajax_url, data: { action: jinr_ajax_common.action, post_id: jinr_ajax_common.post_id } }); })(jQuery);