/********************************************* * rule.js * ------------------------------------------- * @init * @plugin *********************************************/ /* ------------------------------------------- * @noConflict ------------------------------------------- */ jqNew = jQuery.noConflict(); if($ === undefined){ $ = jQuery; } j$ = jQuery || jqNew; /* ------------------------------------------- * @init ------------------------------------------- */ j$(function(){ var u = new EPOS_CARD.Util(); j$.accordion01(); j$.accordion02(); j$.migratoryLink(); j$.moveElm(); }); /* ------------------------------------------- * @plugin ------------------------------------------- */ (function(j$){ /* * アコーディオン01 */ j$.accordion01 = function(config){ var u = new EPOS_CARD.Util(); var c = j$.extend({ elm: ".toggleWrap01", trigger: ".toggleTrigger01", target: ".toggleContent01", speed: 300, openNm: "open" },config); // vars var $elm = j$(c.elm), $trg = j$(c.trigger) if($elm.length === 0){ return false; } var trgCookies = []; // setting //cookieをみてclassを付与 if($.cookie("trgCookies01") != undefined && $.cookie("trgCookies01").length !== 0){ trgCookies = $.cookie("trgCookies01").split(',').map(Number); j$.each(trgCookies, function(i,v){ j$(c.target).eq(v).addClass(c.openNm); j$(c.trigger).eq(v).addClass(c.openNm); }); } j$(c.target).not("." + c.openNm).hide(); // trigger $trg.on("click",function(){ var self = j$(this), $wrap = self.parents(c.elm), $target = $wrap.find(c.target), i = $elm.index($wrap); if(self.hasClass(c.openNm)){ self.removeClass(c.openNm); $target.stop().slideUp(c.speed); trgCookies = trgCookies.filter(function(a) { return a !== i; }); } else { self.addClass(c.openNm); $target.stop().slideDown(c.speed); EPOS_CARD.module.equalHeight(true, true); EPOS_CARD.module.sizeFix(); trgCookies.push(i); } j$.cookie("trgCookies01", trgCookies); }); }; /* * アコーディオン02 */ j$.accordion02 = function(config){ var u = new EPOS_CARD.Util(); var c = j$.extend({ elm: ".toggleWrap02", trigger: ".toggleTrigger02", target: ".toggleContent02", speed: 300, openNm: "open" },config); // vars var $elm = j$(c.elm), $trg = j$(c.trigger) if($elm.length === 0){ return false; } var trgCookies = []; // setting //cookieをみてclassを付与 if($.cookie("trgCookies02") != undefined && $.cookie("trgCookies02").length !== 0){ trgCookies = $.cookie("trgCookies02").split(',').map(Number); j$.each(trgCookies, function(i,v){ j$(c.target).eq(v).addClass(c.openNm); j$(c.trigger).eq(v).addClass(c.openNm); }); } j$(c.target).not("." + c.openNm).hide(); // trigger $trg.on("click",function(){ var self = j$(this), $wrap = self.parents(c.elm), $target = $wrap.find(c.target), i = $elm.index($wrap); if(self.hasClass(c.openNm)){ self.removeClass(c.openNm); $target.stop().slideUp(c.speed); trgCookies = trgCookies.filter(function(a) { return a !== i; }); } else { self.addClass(c.openNm); $target.stop().slideDown(c.speed); EPOS_CARD.module.equalHeight(true, true); EPOS_CARD.module.sizeFix(); trgCookies.push(i); } j$.cookie("trgCookies02", trgCookies); }); }; /* * 回遊リンク非表示 */ j$.migratoryLink = function(config){ var u = new EPOS_CARD.Util(); var c = j$.extend({ elm: ".js-migratoryLink" },config); // vars var $elm = j$(c.elm); if($elm.length === 0){ return false; } var $param = j$.paramGet(); if($param["ruletop"] && $param["ruletop"] === "true"){ $elm.hide(); } }; /* * @plugin paramGet * - パラメータを連想配列にして取得 */ j$.moveElm = function(){ /* vars ------------------------------- */ var $elm = j$('.js-moveElm'), $pos = j$('.js-movePos'); if($elm.length === 0 ){ return "" } /* function ------------------------------- */ $elm.insertBefore($pos); }; /* * @plugin paramGet * - パラメータを連想配列にして取得 */ j$.paramGet = function(){ /* vars ------------------------------- */ var url_search = location.search, param = [], key = null; if(url_search.length === 0 ){ return "" } //アプリページからの遷移の都合上、区切り文字に'?'を追加 url_search = url_search.substr(1).split(/[&?]/); /* function ------------------------------- */ for(var i = 0 ; i < url_search.length ; i++){ // "&"で分離したパラメータを"="で再分離 key = url_search[i].split("="); // パラメータを連想配列でセット param[key[0]] = key[1]; } return param; }; })(jQuery);