/* ------------------------------------------- * @init ------------------------------------------- */ $(function () { var u = new EPOS_CARD.Util(); $.cookieSetDesignCard(); $.headerMenu(); $.textMove(); $.heral_smoothScroll(); $.heral_accordion(); $.mapChange(); $.slider(); $.headerImageSlider(); $.cardImageSlider(); $.sideMenuSticky(); $.heral_modal(); $(window).on('load', function (){ // 画像が完全に読み込まれてからクローンを作成 // さらに少し遅延させて、レンダリングが完了してから実行 setTimeout(function(){ $.motionPictureLoop(); }, 100); }); }); (function($){ var u = new EPOS_CARD.Util(); /* * cookieSetDesignCard */ $.cookieSetDesignCard = function(){ var COOKIE_DOMAIN = location.host.indexOf(".eposcard.co.jp")!==-1 ? ".eposcard.co.jp" : location.host; $('.js-designCardLink').click(function(){ var self = $(this), cardNumber = '0' + $(this).attr('name'); document.cookie = "selecteddesignno-cardapply_form01=; max-age=0; path=/"; document.cookie = "selectedstdcard-cardapply_form01=; max-age=0; path=/"; document.cookie = "selecteddirection-cardapply_form01=; max-age=0; path=/"; document.cookie = "jump_designcardList=; max-age=0; path=/"; if(self.data('direction') == 'vertical') { $.cookie("selecteddirection-cardapply_form01", 'vertical', {domain:COOKIE_DOMAIN , expires: 30, path: "/"}); } else if (self.data('direction') == 'horizontal') { $.cookie("selecteddirection-cardapply_form01", 'horizontal', {domain:COOKIE_DOMAIN , expires: 30, path: "/"}); } $.cookie("selecteddesignno-cardapply_form01", cardNumber, {domain:COOKIE_DOMAIN , expires: 30, path: "/"}); $.cookie('selectedstdcard-cardapply_form01', 'classic' ,{domain:COOKIE_DOMAIN , expires: 30, path: "/"}); $.cookie('jump_designcardList', '1' ,{domain:COOKIE_DOMAIN , expires: 30, path: "/"}); }); } /* * headerMenu */ $.headerMenu = function(config){ // vars var c = $.extend({ elm: "js-headerMenu", button: "js-headerMenuButton", openClass: "is-open", menuClass: "on-menu", speed: 300 }, config); var $elm = $("." + c.elm), $button = $("." + c.button), $anchorLink = $("." + c.elm + " a[href^='#']"), click = true; if($elm.length === 0){ return false; } var menuAction = function() { if(click) { click = false; $elm.addClass(c.menuClass); $elm.toggleClass(c.openClass); setTimeout(function() { $elm.removeClass(c.menuClass).stop(); click = true; },1000); } }; $button.on('click', function(){ menuAction() }); $anchorLink.not('a[href=#], a[href^=#tab], a[href^=#modal]').on('click', function() { menuAction() }); } /* * textMove */ $.textMove = function(config){ // vars var c = $.extend({ elm: "js-textMove", item: "js-textMoveItem", target: "js-textMoveTarget" }, config); var $elm = $("." + c.elm), $item = $("." + c.item), $target = $("." + c.target); if($elm.length === 0 || $target.length === 0){ return false; } var fixedClass = 'is-fixed', textPosition = $elm.offset().top - 40, targetPosition = $target.offset().top + 60; $(window).on('scroll', function(){ if(u.isRangeSP()) { var scrollTop = $(window).scrollTop(); if(targetPosition > scrollTop && scrollTop > textPosition) { $item.addClass(fixedClass); $item.css('top', '10vw'); } else if(scrollTop >= targetPosition ) { $item.removeClass(fixedClass); $item.css('top',targetPosition - textPosition); } else if (textPosition > scrollTop) { $item.removeClass(fixedClass); $item.css('top', '0'); } } }); }; /* * mapChange */ $.mapChange = function(config){ // vars var c = $.extend({ elm: "js-mapChangeNav", item: "js-mapChangeAccordion", image: "js-mapChangeImage" }, config); var $elm = $("." + c.elm), $item = $("." + c.item), $target = $("." + c.elm + " a"), $image = $("." + c.image), click = true, activeClass = 'is-active'; if($elm.length === 0){ return false; } $item.hide(); $("." + c.item + "." + activeClass).show(); $target.on('click', function() { var self = $(this), href = self.attr('href'), name = href.substr(1), num = href.slice(-2); if(click) { if(!self.hasClass(activeClass)) { click = false; $target.removeClass(activeClass); self.addClass(activeClass); var imagePath = '/designcard/heralbony/img-files/index_im05-'; $image.fadeOut(500, function() { $image.attr('src',imagePath+num+'.jpg'); $image.fadeIn(500); }) $item.removeClass(activeClass); $item.fadeOut(500, function() { $("." + c.item + "#" + name).addClass(activeClass); setTimeout(function(){ $("." + c.item + "#" + name).fadeIn(); },500); }) setTimeout(function(){ click = true; },1000); } } return false; }) }; /* * @method smoothScroll * - スムーススクロール */ $.heral_smoothScroll = function(config){ var c = $.extend({ speed: 300, easing: "swing", noScrollClass: ".heral-noScroll" }, config); /* vars ------------------------------- */ var url = $(location).attr("href"), hash = location.hash, headerheight = $('#header').innerHeight(), href, target, position; /* trigger ------------------------------- */ /* ページ遷移+アンカー移動制御 */ u.$win.load(function(){ if((url.indexOf("#anc") !== -1)||(url.indexOf("#info_anchor") !== -1)){ target = $(hash); position = target.offset().top - headerheight; $("html, body").animate({ scrollTop: position }, c.speed, c.easing); } }); /* スクロール制御 */ $("a[href^=#]").not("a[href=#], a[href^=#tab], a[href^=#area], a[href^=#modal], " + c.noScrollClass + "").click(function(){ href = $(this).attr("href"); target = $(href); position = target.offset().top - headerheight; if(u.isRangeSP()){ $("html, body").animate({ scrollTop: position }, c.speed, c.easing); } else { $("html, body").animate({ scrollTop: position }, c.speed, c.easing); } return false; }); }; $.heral_accordion = function(){ var settings = { 'toggle01': { elm: ".js-heral-toggleWrap01", trigger: ".js-heral-toggleTrigger01", target: ".js-heral-toggleContent01", speed: 300, openNm: "is-open" }, 'toggle02': { elm: ".js-heral-toggleWrap02", trigger: ".js-heral-toggleTrigger02", target: ".js-heral-toggleContent02", speed: 300, openNm: "is-open" } }; for(const key in settings){ EPOS_CARD.module.accordion(settings[key]); } }; $.slider = function(config){ var c = $.extend({ sliderName: ".js-slider", pagerCurrentClassName: ".current", pagerTotalClassName: ".total", trigger: ".js-sliderTrigger" }, config); var $elm = $(c.sliderName), $trigger = $(c.trigger); if($elm.length === 0){ return false; } var slick = $elm.each(function(){ var $this = $(this); $this.on('init', function(event, slick) { $this.append('