// JavaScript Document "use strict"; // スムーズスクロール $(window).on('load',function(){ $('a[href^="#body"],a[href^="#nav"]').on('click', function(){ var speed = 400; var href = $(this).attr('href'); var target = $(href == '#' || href == '' ? 'html' : href); var offset = target.offset().top; $('body,html').animate({ scrollTop:offset }, speed, 'swing'); return false; }); }); // アンカーリンクバグ対策 $(window).on('load',function(){ var id = location.hash; var speed = 400; if(''!=id){ var pos = $(id).offset().top; $('html').animate({ scrollTop:pos},speed); } }); // svgスプライト表示バグ対策 (function(document, window){ document.addEventListener('DOMContentLoaded',function(){ var baseUrl = window.location.href .replace(window.location.hash, ''); [].slice.call(document.querySelectorAll('use[*|href]')) .filter(function(element) { return (element.getAttribute('xlink:href').indexOf('#') === 0); }) .forEach(function(element) { element.setAttribute('xlink:href', baseUrl + element.getAttribute('xlink:href')); }); }, false); }(document, window)); // PCでのTELリンク無効 var ua = navigator.userAgent.toLowerCase(); var isMobile = /iphone/.test(ua)||/android(.+)?mobile/.test(ua); if (!isMobile){ $('a[href^="tel:"]').on('click', function(e) { e.preventDefault(); }); } // 読み込み検知 $(window).on('load',function(){ $('body').addClass('tk_done'); }); // スクロール検知 $(window).scroll(function(){ if( $(window).scrollTop() > 0){ $('body').removeClass('tk_scrollTop'); } else { $('body').addClass('tk_scrollTop'); } }); $(function(){ var timeoutId; window.addEventListener('scroll',function(){ $('body').addClass('tk_scroll'); clearTimeout(timeoutId); timeoutId = setTimeout(function(){ $('body').removeClass('tk_scroll'); },100); }); }); // グローバルナビ $(function(){ $('#tk_navButton').click(function(){ $('body').toggleClass('tk_nav'); }); $('#tk_nav a').click(function(){ $('body').toggleClass('tk_nav'); }); $('body').on('touchstart', onTouchStart); $('body').on('touchmove', onTouchMove); $('body').on('touchend', onTouchEnd); var direction, position; function onTouchStart(event){ position = getPosition(event); direction = ''; } function onTouchMove(event){ if (position - getPosition(event) > 70) { direction = 'left'; } else if (position - getPosition(event) < -70){ direction = 'right'; } } function onTouchEnd(event){ if (direction == 'right'){ $('body').removeClass('tk_nav'); } } function getPosition(event) { return event.originalEvent.touches[0].pageX; } }); // IE対応 var userAgent = window.navigator.userAgent.toLowerCase(); if(userAgent.indexOf('msie') >= 0 || userAgent.indexOf('trident') >= 0) { // 対応する場合は以下を実行 $('body').prepend('\ \ \ \ '); }