/********************************************* * contribution.js --------------------------------------------- @init @plugin *********************************************/ /* ------------------------------------------- * @init ------------------------------------------- */ j$(function(){ var u = new EPOS_CARD.Util(); j$.elemSwitch(); j$.moreShow(); j$.heroSlider(); }); /* ------------------------------------------- * @plugin ------------------------------------------- */ (function(j$){ /* * @plugin - elemSwitch * 表示が静的か動的かで要素を出し分け * URLで判別 * - /contribution/(静的)以下か、それ以外(動的) */ j$.elemSwitch = function(){ /* vars ----------------------------- */ var dir2nd = j$.paramGet(), staticName = "static", $staticElm = j$(".staticOnly"), memberName = "member", $memberElm = j$(".memberOnly"); switch(dir2nd['login']){ case 'true': // 動的ページの場合 j$("body").addClass(memberName); if($memberElm.length > 0){ $memberElm.show(); } break; case 'false': // 静的ページの場合 j$("body").addClass(staticName); if($staticElm.length > 0){ $staticElm.show(); } break; default: j$("body").addClass(staticName); if($staticElm.length > 0){ $staticElm.show(); } break; } }; j$.moreShow = function(){ var u = new EPOS_CARD.Util(); /* vars ----------------------------- */ var $elm = j$('.js-moreItem'), $trigger = j$('.js-moreButton'), openClass = 'is-open', openText = '全ての作家紹介を見る', closeClass = '閉じる', speed = 500; if($elm.length === 0){ return false; } /* setting ----------------------------- */ if(u.isRangeSP()) { $elm.hide(); } /* trigger ----------------------------- */ $trigger.on('click', function() { var self = j$(this); if(!self.hasClass(openClass)) { $elm.slideDown(speed); self.addClass(openClass).text(closeClass); } else { $elm.slideUp(speed); self.removeClass(openClass).text(openText); } }) }; /* * @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; }; j$.heroSlider = function(config){ var c = $.extend({ sliderName: "#heroSlider" }, config); var $elm = j$(c.sliderName); if($elm.length === 0){ return false; } $elm.find('.slides').each(function(){ var $this = j$(this); $this.slick({ autoplay: true, infinite: true, pauseOnFocus: false, pauseOnHover: false, dots: true, speed: 1000, pause: 5000, prevText: '', slidesToScroll: 1, slidesToShow: 1 }) }); } })(jQuery);