/* ------------------------------------------- * @constructor ------------------------------------------- */ /* ------------------------------------------- * @init ------------------------------------------- */ j$(function(){ var u = new EPOS_CARD.Util(); // u インスタンスを作成 j$.introductionAccordion(); j$.modal(); j$.slider(); j$.chatbotShowPosition(); u.$win.on("load", function(){ j$.introduction_equalHeight(true, true); }); }); /* ------------------------------------------- * @plugin ------------------------------------------- */ (function(j$){ var u = new EPOS_CARD.Util(); // u インスタンスを作成 j$.introductionAccordion = function(config){ var c = j$.extend({ elm: ".js-introduction-toggle__wrap", trigger: ".js-introduction-toggle__trigger", target: ".js-introduction-toggle__content", speed: 300, openNm: "open" },config); // vars var $elm = j$(c.elm), $trg = j$(c.trigger); if($elm.length === 0){ return false; } // setting var hash = location.hash; $elm.each(function(){ var $self = $(this); if($self.find(hash).length){ j$(c.trigger, $self).addClass(c.openNm); j$(c.target, $self).addClass(c.openNm); } }); if(self){ j$(c.target).not("." + c.openNm).hide(); }else{ j$(c.trigger).addClass(c.openNm); j$(c.target).show(); } // trigger $trg.on("click",function(){ var self = j$(this), $wrap = self.parents(c.elm), $target = $wrap.find(c.target); if(self.hasClass(c.openNm)){ self.removeClass(c.openNm); $target.stop().slideUp(c.speed); } else { self.addClass(c.openNm); $target.stop().slideDown(c.speed); EPOS_CARD.module.equalHeight(true, true); EPOS_CARD.module.sizeFix(); j$.slider({set: true}); j$.introduction_equalHeight(true, true); } }); }; /** * @method modal * @requires * - jquery.colorbox-min.js */ j$.modal = function(config){ // vars var $elm = j$(".js-introduction_modal"); if($elm.length === 0){ return false; } var c = j$.extend({ customClose: ".cb_close", CLOSE_HTML: '

閉じる

' },config); if(u.isRangeSP()){ $elm.colorbox({ iframe: true, innerWidth:"95%", innerHeight: 250, maxWidth: "95%", maxHeight: "98%", fixed: true, className: "cb-ytWrap", closeButton: false, onComplete: function(){ j$(c.CLOSE_HTML).appendTo("#colorbox.cb-ytWrap #cboxLoadedContent"); }, onClosed: function(){ j$("#ytClose").remove(); } }); } else { $elm.colorbox({ iframe: true, innerWidth:750, innerHeight:500, maxWidth: "100%", maxHeight: "100%", fixed: true, className: "cb-ytWrap", closeButton: false, onComplete: function(){ j$(c.CLOSE_HTML).appendTo("#colorbox.cb-ytWrap #cboxWrapper"); }, onClosed: function(){ j$("#ytClose").remove(); } }); } }; /** * @method slider * @requires * - slick.min.js */ j$.slider = function(config){ var c = $.extend({ sliderName: ".js-slider01", set: false }, config); var $elm = $(c.sliderName), setBoolean = c.set || false; if($elm.length === 0){ return false; } if(setBoolean){ $elm.slick('setPosition'); return } if(u.isRangeSP()){ $elm.each(function(){ var $this = $(this); $this.slick({ autoplay: false, variableWidth: true, slidesToScroll: 1, slidesToShow: 1, infinite: false, centerMode: true, centerPadding: '0px', dots: true }); }); } var initialWin = u.$win.width(); u.isWindowSizeCheck(function(){ var resizeWin = u.$win.width(); if(resizeWin === initialWin){ return false; } else { if(u.isRangeSP()){ $elm.each(function(){ var $this = $(this); $this.slick({ autoplay: false, variableWidth: true, slidesToScroll: 1, slidesToShow: 1, infinite: false, centerMode: true, centerPadding: '0px', dots: true }); }); EPOS_CARD.module.equalHeight(true, true); }else{ $elm.slick('unslick'); $elm.find('.slick-track').remove(); EPOS_CARD.module.equalHeight(true, true); } initialWin = resizeWin; } }); } /** * @method slider * @requires * - slick.min.js */ j$.chatbotShowPosition = function(config){ var c = $.extend({ elementName: "#chatbotBtn", elmShowPosition: "js-chatbot-show_position--pc", speed: 300 }, config); //表示位置 var $elm = $(c.elementName), $elmShowPosition = $('.' + c.elmShowPosition), showPosition; if($elm.length === 0 || $elmShowPosition.length == 0){return false} //int showPosition = $elmShowPosition.offset().top; var scrollShow = function(pos){ if(pos < $(window).scrollTop()){ $elm.fadeIn(c.speed); }else{ $elm.fadeOut(c.speed); } } if(!u.isRangeSP()){ $elm.hide(); scrollShow(showPosition); }else{ $elm.show(); } //trigger $(window).on('scroll', function(){ if(!u.isRangeSP()){ scrollShow(showPosition); }else{ $elm.show(); } }); u.isWindowSizeCheck(function(){ showPosition = $elmShowPosition.offset().top; if(!u.isRangeSP()){ scrollShow(showPosition); }else{ $elm.show(); } }); } /* * @method equalHeight * - 高さ揃え * @param {Boolean} * - 文字可変・リサイズに対応するかどうか */ $.introduction_equalHeight = function(fsCheck, wsCheck){ var className = ".introduction_equalHeight", childBaseName = "equalChild", cancelName = "sp-eqCancel", $elm = $(className), $children = $elm.children(), $spChildren = $elm.not("." + cancelName).children(),// SP時に有効となる要素 winW = u.$win.width(), fsCheck = fsCheck || false, wsCheck = wsCheck || true, spCheck = false; if($elm.length === 0 || $children.length < 2){ return false; } if(winW < u.breakPoint1){ spCheck = true; } /* childBaseNameのグループ化 */ var grouping = function(w){ var $groupedChildren = $elm.find("*[class*=" + childBaseName + "]"), classNames = {},groups = []; $groupedChildren.each(function(){ var splitClass = $(this).attr("class").split(" "), splitClassNum = splitClass.length, newClassName; for(var i = 0; i < splitClassNum; i++){ newClassName = splitClass[i].match(RegExp(childBaseName + "[a-z0-9,_,-]*", "i")); if(!newClassName){ continue; } else { newClassName.toString(); classNames[newClassName] = newClassName; } } }); // childBaseNameの格納 for(var c in classNames){ if(w < u.breakPoint1){ groups.push($elm.not("." + cancelName).find("." + c));// SP時にcancelNameを持つ要素を対象から外す } else { groups.push($elm.find("." + c)); } } return groups; }; /* 各要素の高さを揃える */ var equalHeight = function(elm){ var maxHeight = 0; elm.css("height", "auto"); elm.each(function(){ if($(this).outerHeight() > maxHeight){ maxHeight = $(this).outerHeight(); } }); return elm.outerHeight(maxHeight); }; /* init */ var init = function(){ var winW = u.$win.width(), groups = grouping(winW); var eqAct = function(eqObj){ var h = [], child = [], maxHeight = 0, top = 0; $.each(eqObj, function(){ var $group = $(this).not(":hidden");// 非表示要素に適用させない場合.not(":hidden")を付与 $group.each(function(i){ $(this).css("height", "auto"); h[i] = $(this).outerHeight(); if ((top !== Math.round($(this).offset().top)) && (top !== Math.round($(this).offset().top) + 1) && (top !== Math.round($(this).offset().top) - 1)) { equalHeight($(child)); child = []; top = Math.round($(this).offset().top); } child.push(this); }); }); if(child.length > 1){ equalHeight($(child)); } } // childBaseName要素の高さを揃える eqAct(groups); // 子要素の高さを揃える if(winW < u.breakPoint1){ // SP時 eqAct($spChildren); $("." + cancelName).children().css("height", "auto"); $("." + cancelName).find("*[class*=" + childBaseName + "]").css("height", "auto"); } else { // PC時 eqAct($children); setTimeout( function(){ $(".equalChild_bottom").css({ top: "inherit", bottom: 0 }); },100); } }; // 文字可変への対応可否 fsCheck ? u.isFontSizeCheck(init) : init(); wsCheck ? u.isWindowSizeCheck(init) : init(); } })(jQuery); // 「エポスオーナーアプリ」押下後、申込環境ごとにアプリDLページ出しわけ j$(function() { var iosUrl = "https://apps.apple.com/jp/app/id1664020456"; var androidUrl = "https://play.google.com/store/apps/details?id=jp.co.eposcard.ownerapp"; function isIOSDevice(u) { if (u.isiPhone()) { return true; } if (u.ua.indexOf("ipad") !== -1) { return true; } var uaData = navigator.userAgentData; if (uaData && typeof uaData.platform === "string") { var hintPlat = uaData.platform; if (hintPlat === "iOS" || hintPlat === "iPhone" || hintPlat === "iPad") { return true; } } if (navigator.maxTouchPoints > 1 && /macintosh|mac os x/i.test(navigator.userAgent)) { return true; } return false; } function isAndroidDevice(u) { return u.isAndroid(); } function isLikelyTouchMobile(u) { if (!u.isRangeSP()) { return false; } if (navigator.maxTouchPoints > 0) { return true; } return "ontouchstart" in window; } j$(".js-applyButton").on("click", function(e) { e.preventDefault(); e.stopImmediatePropagation(); var u = new EPOS_CARD.Util(); if (isIOSDevice(u)) { window.location.href = iosUrl; return; } if (isAndroidDevice(u)) { window.location.href = androidUrl; return; } if (isLikelyTouchMobile(u)) { if (u.ua.indexOf("linux") !== -1) { window.location.href = androidUrl; } else { window.location.href = iosUrl; } return; } j$("#modalPcOnly").css("display", "block"); j$.colorbox({ inline: true, href: "#modalPcOnly", maxWidth: "90%", maxHeight: "90%", opacity: 0.7, fixed: true, onOpen: function() { var scrollY = j$(window).scrollTop(); j$("#colorbox").data("ycoord", scrollY); j$("body").css({ position: "fixed", top: (scrollY * -1) + "px", left: "0", right: "0", overflow: "hidden" }); }, onComplete: function() { j$("#cboxLoadedContent").css("overflow", "visible"); }, onClosed: function() { j$("#modalPcOnly").css("display", "none"); j$("body").css({ position: "", top: "", left: "", right: "", overflow: "" }); j$(window).scrollTop(j$("#colorbox").data("ycoord")); } }); }); });