/* ------------------------------------------- * @constructor ------------------------------------------- */ var u = new EPOS_CARD.Util(); // u インスタンスを作成 /* ------------------------------------------- * @init ------------------------------------------- */ j$(function(){ j$.accordion(); j$.tabs(); j$.parameterControl(); j$.jsonControl(); j$.floatingControl(); }); /* ------------------------------------------- * @plugin ------------------------------------------- */ (function(j$){ var u = new EPOS_CARD.Util(); // u インスタンスを作成 /* * @method accordion */ j$.accordion = function(config){ var settings = { 'toggle01': { elm: ".js-change-toggleWrap01", trigger: ".js-change-toggleTrigger01", target: ".js-change-toggleContent01", speed: 300, openNm: "is-open" } }; for(const key in settings){ EPOS_CARD.module.accordion(settings[key]); } }, /* * @method tabs */ j$.tabs = function(config){ var settings = { 'toggle01': { tabName: ".js-change-tabWrap", tablist: ".js-change-tabList", boxName: ".js-change-tabContent", openClass: "is-active" } }; for(const key in settings){ EPOS_CARD.module.tabs(settings[key]); } }, /* * parameterControl */ $.parameterControl = function(config){ var c = $.extend({ elm01: ".js-paramRemove01", elm02: ".js-paramRemove02", elm03: ".js-textChange" },config); // vars var $elm01 = $(c.elm01), $elm02 = $(c.elm02), $elm03 = $(c.elm03); if($elm01.length === 0 && $elm02.length === 0 && $elm03.length === 0){ return false; } // trigger var paramName01 = 'hidden', paramName02 = 'change'; function getParam(name, url) { if (!url) url = window.location.href; name = name.replace(/[\[\]]/g, "\\$&"); var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; return decodeURIComponent(results[2].replace(/\+/g, " ")); } if(getParam('change_payment_area') == paramName01) { $elm01.remove(); } if(getParam('change_payment_title') == paramName02) { $elm02.remove(); $elm03.text('ポイントで割引サービス利用締切日'); } }, /* * jsonControl */ $.jsonControl = function() { var $elm = j$('.js-deadlineTable'); if($elm.length === 0){ return false; } j$.getJSON("/common-files/js/payment/payment.json", function(data){ $elm.each(function() { var self = $(this), deadline = self.attr('data-category'), selfData01 = self.find('.js-deadlineData01'), selfData02 = self.find('.js-deadlineData02'), selfData03 = self.find('.js-deadlineData03'), selfData04 = self.find('.js-deadlineData04'); for (var i = 0; i < data.length; i++) { var category = data[i].post; if(deadline == category) { selfData01.text(data[i].date01); selfData02.text(data[i].date02); selfData03.text(data[i].date03); selfData04.text(data[i].date04); break; } } }) }); }, /* * @method floating */ j$.floatingControl = function (){ // vars var u = new EPOS_CARD.Util() var $elm = j$('.js-floatingWrap'), $pageContainer = j$("#pageContainer"), slideInSpeed = 500, slideStatus = 'slideActive', negative = $elm.innerHeight() + 20; if($elm.length === 0){ return false; } // setting $elm.css("bottom", "-" + negative + "px"); // trigger u.$win.on("load", function(){ $pageContainer.css("padding-bottom", $elm.innerHeight() + 10); var top = u.$win.scrollTop(); if(top != 0){ $elm.show(); $elm.addClass(slideStatus); $elm.stop().animate({ "bottom": 0 },slideInSpeed, function() { $elm.removeClass(slideStatus); }); } }); u.$win.on("scroll", function(){ var top = u.$win.scrollTop(); if(top === 0){ $elm.addClass(slideStatus); $elm.stop().animate({ "bottom": "-" + negative + "px" },slideInSpeed, function() { $elm.removeClass(slideStatus); }); } else if (top != 0 && !$elm.hasClass(slideStatus)) { $elm.show(); $elm.addClass(slideStatus); $elm.stop().animate({ "bottom": 0 }, slideInSpeed, function() { $elm.removeClass(slideStatus); }); } }); }; })(jQuery);