/* ------------------------------------------- * @constructor ------------------------------------------- */ /* ------------------------------------------- * @init ------------------------------------------- */ j$(function(){ var u = new EPOS_CARD.Util(); // u インスタンスを作成 j$.securityAccordion(); j$.modal(); j$.slider(); j$.chatbotShowPosition(); }); /* ------------------------------------------- * @plugin ------------------------------------------- */ (function(j$){ var u = new EPOS_CARD.Util(); // u インスタンスを作成 j$.securityAccordion = function(config){ var c = j$.extend({ elm: ".js-security-toggle__wrap", trigger: ".js-security-toggle__trigger", target: ".js-security-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(u.isRangeSP()){ 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}); } }); }; /** * @method modal * @requires * - jquery.colorbox-min.js */ j$.modal = function(config){ // vars var $elm = j$(".js-security_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(); } }); } })(jQuery);