var commonFunc = commonFunc || {}; ;(function($) { commonFunc = (function() { 'use strict'; var EVENT_ID = '.smbc', get_ua = function() { var ua = {}; ua.name = window.navigator.userAgent.toLowerCase(); ua.isIE = (ua.name.indexOf('msie') >= 0 || ua.name.indexOf('trident') >= 0); ua.isiPhone = ua.name.indexOf('iphone') >= 0; ua.isiPod = ua.name.indexOf('ipod') >= 0; ua.isiPad = ua.name.indexOf('ipad') >= 0; ua.isiOS = (ua.isiPhone || ua.isiPod || ua.isiPad); ua.isAndroid = ua.name.indexOf('android') >= 0; ua.isSP = (ua.isiPhone || (ua.isAndroid && ua.name.indexOf('mobile') >= 0)); ua.isTablet = (ua.isiPad || (ua.isAndroid && ua.name.indexOf('mobile') < 0)); ua.isTouch = (ua.isiOS || ua.isAndroid); return ua; }; $.extend($.easing, { easeOutExpo: function (x, t, b, c, d) { return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b; } }); return { accordion: function() { var btn = $('.accordionBtn'); btn .on('touchend'+EVENT_ID,function() { if($(this).find('.accBtn').length > 0) { if($(this).attr("data-move") === 'no' || !$(this).attr("data-move")) { if($(this).closest('.accordionWrap').hasClass('open')) { $(this).siblings('.accordionContents').slideUp('slow','easeOutExpo',function() { $(this) .closest('.accordionWrap').removeClass('open') .find('.accordionBtn').removeClass('open') .find('.accBtn').text('開く'); }); }else { $(this).closest('.accordionBtn').addClass('open'); $(this).siblings('.accordionContents').slideDown('slow','easeOutExpo',function() { $(this) .closest('.accordionWrap').addClass('open') .find('.accBtn').text('閉じる'); }); } } } }) .on('touchstart'+EVENT_ID,function() { $(this).attr('data-move','no') }) .on('touchmove'+EVENT_ID,function() { $(this).attr('data-move','yes') }); }, drawerCampaign: function() { var path = '/smbcsp/img/xml/gnav_banner.xml', drwHtml = ''; function xmlLoad() { $.ajax({ type: "GET", url: path, dataType: "text", }).done(function(data) { var xmlData = $.parseXML(data); setDrawerCampaign(xmlData); }); } /* drawer campaign */ function setDrawerCampaign(xml) { $(xml).find('item').each(function() { drwHtml += '
  • ' + $(this).find('text').text() + '
  • '; }); $('#drawerCampaign .secondHierarchy').html(drwHtml); } xmlLoad(); }, drawerAccordion: function() { var btn = $('#spDrawerMenu').find('.globalBlock > dt'); var block = $('#spDrawerMenu').find('.globalBlock > dd'); block .hide() .each(function() { if($(this).siblings('dt').hasClass('open')) { $(this).show().closest('dl').addClass('open'); } }); btn .on('touchend'+EVENT_ID,function() { if($(this).siblings('dd').length > 0) { if($(this).attr("data-move") === 'no' || !$(this).attr("data-move")) { if($(this).closest('dl').hasClass('open')) { $(this).siblings('dd').slideUp(500,'easeOutExpo',function() { $(this) .siblings('dt').removeClass('open') .closest('dl').removeClass('open'); }); }else { $(this).closest('dl').andSelf().addClass('open'); $(this).siblings('dd').slideDown(500,'easeOutExpo'); } } return false; } }) .on('touchstart'+EVENT_ID,function() { $(this).attr('data-move','no') }) .on('touchmove'+EVENT_ID,function() { $(this).attr('data-move','yes') }); }, smoothScroll: function() { $('a[href^=#]').not('.noSmooth').on('touchend'+EVENT_ID,function() { if($($(this).attr('href')).length > 0) { var speed = 500, href= $(this).attr("href"), target = $(href == "#" || href == "" ? 'html' : href), position = target.offset().top; $('body,html').animate({scrollTop:position}, speed, 'easeOutExpo'); return false; } }); }, /* 入力フォーム フォーカス */ focusForm: function() { if($('#searchSubmitFixed').length > 0) { $('#wrapper') .on('focus'+EVENT_ID,'input[type="text"], textarea, select',function(){ $('#searchSubmitFixed').hide(); }) .on('blur'+EVENT_ID,'input[type="text"], textarea, select',function(){ $('#searchSubmitFixed').show(); }); } }, /* ダイアログ */ dialogConfirm: function() { $(document).on('touchend'+EVENT_ID,'.dialogConfirm',function(){ if($(this).attr("data-move") === 'no' || !$(this).attr("data-move")) { if($(this).attr('data-dialog') && $(this).attr('data-jump')) { if(window.confirm($(this).attr('data-dialog'))){ location.href = $(this).attr('data-jump'); } } return false; } }) .on('touchstart'+EVENT_ID,'.dialogConfirm',function() { $(this).attr('data-move','no') }) .on('touchmove'+EVENT_ID,'.dialogConfirm',function() { $(this).attr('data-move','yes') }); }, goTop: function() { var elm, i, l; elm = $('#pageTop'); setDefault(); bindGoTop(); bindScroll(); function bindScroll() { $(window).on('scroll.smbcGoTopBtn', $.debounce(100, function(){ if ($(window).scrollTop() > 200) { elm.css({'-webkit-transform': 'translateY(0px)','transform': 'translateY(0px)'}); } else { elm.css({'-webkit-transform': 'translateY(200px)','transform': 'translateY(200px)'}); } })); } function setDefault(){ elm.attr('href','javascript:;'); var stid = setTimeout(function(){ clearTimeout(stid); elm.css({ '-webkit-transition': 'all 500ms cubic-bezier(.13,.63,.35,1.23)', '-moz-transition': 'all 500ms cubic-bezier(.13,.63,.35,1.23)', '-o-transition': 'all 500ms cubic-bezier(.13,.63,.35,1.23)', 'transition': 'all 500ms cubic-bezier(.13,.63,.35,1.23)' }, 0) }); elm.css({ '-webkit-transform': 'translateY(200px)', 'transform': 'translateY(200px)', 'display': 'block' }); } function bindGoTop(){ elm.on('click.smbcGoTopBtn touchend.smbcGoTopBtn', function(){ elm.css({'-webkit-transform': 'translateY(0px)','transform': 'translateY(0px)'}); $('html, body').stop().animate({ scrollTop : 0 }, 500, 'easeOutExpo'); return false; }) } } } }()); $(function() { commonFunc.smoothScroll(); commonFunc.accordion(); commonFunc.drawerAccordion(); commonFunc.drawerCampaign(); commonFunc.focusForm(); commonFunc.dialogConfirm(); commonFunc.goTop(); }); })(jQuery);