/** * script.js * @require jquery.slim.js */ $(function() { var $win = $(window); var $doc = $(document); var $body = $('body'); var _bk = { sp: 767, tb: 768, tb2: 1080, pc: 1081}; /* Browser ================================================== */ var ua = window.navigator.userAgent.toLowerCase(); if (ua.indexOf('msie') != -1 || ua.indexOf('trident') != -1) { $body.addClass('is-ie'); } else { $body.addClass('is-not-ie'); } /* Navi Torigger ================================================== */ $('.l-nav-trigger').on('click', function(e) { e.preventDefault(); $('body').toggleClass('menu-on'); $(this).toggleClass('is-on'); $('.l-header-sp, .l-header__floating, .nav-overlay').toggleClass('is-on'); if ($(this).hasClass('is-on')) { burst(); } }); function resizeNav() { var radius = Math.sqrt(Math.pow(window.innerHeight, 2) + Math.pow(window.innerWidth, 2)); var diameter = radius * 2; var $ovl = $(".nav-overlay"); $ovl.css({ 'width': diameter, 'height': diameter, 'margin-top': -radius, 'margin-left': -radius }); if (window.innerWidth > _bk.sp) { $('.l-nav-trigger, .l-header-sp, .l-header__floating, .nav-overlay').removeClass('is-on'); } } function burst() { var particles = []; var pos = []; var particleCount = 30; var range = 240; var $fw = $('.l-nav-trigger__fw'); var $ring = $(''); $fw.find('i, span').remove(); // ring $ring.appendTo($fw); setTimeout(function () { $ring.css({ 'opacity': 0, 'transform': 'translate(-50%, -50%) scale(2, 2)' }); }, 10); // bullet for (var i = 0; i < particleCount; i++) { particles.push($('')); $fw.append(particles[i]); pos[i] = { x: getRandom(-range, range), y: getRandom(-range, range) }; particles[i].css({ 'transform': 'translate('+(pos[i].x*0.6)+'px, '+(pos[i].y*0.6)+'px) scale(2, 2)' }); } setTimeout(function () { for (var i = 0; i < particleCount; i++) { var fx = getRandom(-range, range); var fy = getRandom(-range, range); particles[i].css({ 'transform': 'translate('+pos[i].x+'px, '+pos[i].y+'px) scale(0, 0)' }); } }, 10); } function getRandom(min, max) { return Math.floor(Math.random() * (max - min) + min); }; $win.on('load resize', resizeNav); /* Home ================================================== */ $('.p-home').each(function() { var $hero = $('.p-home-hero'); function getHeroH() { return $hero.outerHeight(false); } function getScroll() { return $win.scrollTop(); } function setHeroHeight() { if (window.innerWidth >= _bk.pc) { $hero.css('height', window.innerHeight - 200); } else { $hero.css('height', ''); } } function scrollAbsolute() { if (getScroll() <= getHeroH()) { $('.l-header').addClass('is-absolute'); } else { $('.l-header').removeClass('is-absolute'); } } // SP Menu $win.on('scroll', scrollAbsolute); // Set Hero Size $win.on('resize', function() { setHeroHeight(); scrollAbsolute(); }); // Show MV $win.on('load', function() { $hero.addClass('is-onload'); $hero.removeClass('is-loading'); }); // Default setHeroHeight(); scrollAbsolute(); }); /* Weather Tab ================================================== */ $('.s-weather').each(function() { var $tab = $(this).find('.s-weather__tab'); var $item = $(this).find('.s-weather__item'); $tab.on('click', tabClick); function tabClick(e) { e.preventDefault(); var i = $(this).index($tab) $tab.removeClass('is-on').attr('aria-selected', false); $item.removeClass('is-on').attr('aria-hidden', true); $(this).addClass('is-on').attr('aria-selected', true); $item.eq(i).addClass('is-on').attr('aria-hidden', false); } }); /* Acordion 20240322 add ================================================== */ $(".toggle").on("click", function() { $(this).next().slideToggle(); $(this).toggleClass("open"); }); /* smooth scroll 20240322 add ================================================== */ $('a[href^="#"]').click(function(){ var adjust = $(window).width() <= 767 ? 60 : 100; var speed = 400; var href= $(this).attr("href"); var target = $(href == "#" || href == "" ? 'html' : href); var position = target.offset().top - adjust; $('body,html').animate({scrollTop:position}, speed, 'swing'); return false; }); });