/********************************************* * emoney.js * ------------------------------------------- * @init * @plugin *********************************************/ /* ------------------------------------------- * @noConflict ------------------------------------------- */ jqNew = jQuery.noConflict(); if($ === undefined){ $ = jQuery; } j$ = jQuery || jqNew; /* ------------------------------------------- * @init ------------------------------------------- */ j$(function(){ var u = new EPOS_CARD.Util(); j$.mainAnimation(); j$.emoneyTab(); j$.accordion02(); j$.Tablet(); j$.addParam(); j$.parmFloating(); j$.enterTheScreen(); j$(window).on('load', function(){ j$.slider(); }) }); /* ------------------------------------------- * @plugin ------------------------------------------- */ (function(j$){ /* * メインのアニメーション */ j$.mainAnimation = function(){ var $elm = j$(".mainVisualImg"); if($elm.length === 0){ return false; } $elm.vegas({ slides: [ { src: '/emoney/img-files/index_im01.jpg' }, { src: '/emoney/img-files/index_im02.jpg' }, { src: '/emoney/img-files/index_im03.jpg' } ], delay: 6400, transitionDuration: 1800, animation: [ 'kenburns'], animationDuration: 8000, timer: false, transition: 'fade' }); }; /* * タブ切り替え */ j$.emoneyTab = function(config){ var u = new EPOS_CARD.Util(); var c = j$.extend({ tabName: ".supportContents", tablist: ".supportList", boxWrapName: ".supportDetail", boxName: ".supportDetailBox", openClass : "active", closeBtn : ".supportClose", escapeClass : "noTabLink" },config); var $elm = j$(c.tabName); if($elm.length === 0){ return false; } $elm.each(function(){ var $this = j$(this), $list = j$(c.tablist, $this), $boxWrap = j$(c.boxWrapName, $this), $box = j$(c.boxName, $this); // 初期表示 if(!u.isRangeSP()){ $boxWrap.hide(); $box.hide(); }else{ $boxWrap.hide(); } $list.on('click', 'li', function() { if(!u.isRangeSP()){ if(j$(this).is('.' + c.escapeClass)) { return false; } if(j$(this).hasClass(c.openClass)) { $list.find('.' + c.openClass).removeClass(c.openClass); j$(c.boxWrapName, $this).slideUp(); return false; } else { var href = j$("a", this).attr("href"); $list.find('.' + c.openClass).removeClass(c.openClass); j$(this).attr("href") j$(this).addClass(c.openClass); $box.hide(); j$(href).fadeIn(); setTimeout(function(){ $boxWrap.slideDown(); }, 50); EPOS_CARD.module.equalHeight(); return false; } }else{ if(j$(this).hasClass(c.openClass)) { $list.find('.' + c.openClass).removeClass(c.openClass); j$(c.boxWrapName, $this).slideUp(); return false; } else { $list.find('.' + c.openClass).removeClass(c.openClass); j$("[href *= " + j$(this).find("a").attr("href") + "]").closest("li").addClass(c.openClass); $boxWrap.slideDown(); return false; } } }); $(window).on("resize", function(){ if(!u.isRangeSP()){ if(j$("." + c.openClass + " a", $list).length){ $list.find('.' + c.openClass).removeClass(c.openClass); $box.hide(); } }else{ $list.find('.' + c.openClass).removeClass(c.openClass); $box.show(); } $boxWrap.hide(); }) }); }; /* * アコーディオン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; } // setting 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); 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$.Tablet = function(config){ var u = new EPOS_CARD.Util(); if(u.isTablet()){ $(".ua_pcOnly").remove(); $(".ua-TabletOnly").show(); }else{ $(".ua-TabletOnly").remove(); } }; /* * ページURLに特定のパラメータが付いている場合のみモーダル発火 */ j$.addParam = function(){ var u = new EPOS_CARD.Util(), para = location.search; if(para.indexOf('?movie') !== -1) { if(u.isRangeSP()){ j$("#modal_Emoney_sp").colorbox({ innerWidth:"95%", maxWidth: "95%", open: true }); } else { j$("#modal_Emoney").colorbox({ innerWidth:580, innerHeight:450, maxWidth: "100%", maxHeight: "100%", open: true }); } } j$(".cb_close").on("click",function(){ $.colorbox.close(); }); }; /* * ページURLに特定のパラメータが付いている場合のみフローティングバナー表示 */ j$.parmFloating = function(){ var u = new EPOS_CARD.Util(), $elm = j$(".js-parmFloating"); if($elm.length === 0){return false} var $param = j$.paramGet(), paramCid = ($param['cid'] != undefined && $param['cid'].length !== 0) ? $param['cid'] : ""; if(paramCid != "yah_cin_pmt_pc_202008" && paramCid != "yah_cin_pmt_sp_202008" && paramCid != "gdp_cin_pmt_pc_202008" && paramCid != "gdp_cin_pmt_sp_202008"){ $elm.remove(); } }; /* * @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; }; /* * slider */ j$.slider = function(){ var u = new EPOS_CARD.Util(); var $slider01 = j$(".js-e_slider01"), $slider01_nav = j$(".js-e_slider01_ic"), $slider02 = j$(".js-e_slider02"), $slider02_nav = j$(".js-e_slider02_ic"), $slider03 = j$('.js-support_slide01'), $slider03_nav = j$('.js-support_slide01_contents'), $slider04 = j$('.js-step_slider01'); /* 共通関数 -------------------------------- */ j$.fn.slideArrowControl = function(arrow){ var elem = arrow || this; j$('.slick-arrow', elem).addClass('js-slideArrowControl'); this.on('beforeChange', function(event, slick, currentSlide, nextSlide){ var self = arrow || $(this), $arrow = $('.slick-arrow', self), speed = 300, targetIndex = slick.slideCount - 1; if(nextSlide == targetIndex){ $('.slick-arrow.slick-prev', self).fadeIn(speed, function() { $(this).attr("style", "display: inline-block !important"); }); $('.slick-arrow.slick-next', self).fadeOut(speed, function() { $(this).attr("style", "display: none !important"); }); }else if(nextSlide == 0){ $('.slick-arrow.slick-prev', self).fadeOut(speed, function() { $(this).attr("style", "display: none !important"); }); $('.slick-arrow.slick-next', self).fadeIn(speed, function() { $(this).attr("style", "display: inline-block !important"); }); }else{ $arrow.fadeIn(speed, function() { $(this).attr("style", "display: inline-block !important"); }); } }); } function sliderNavSetting01(slideNav, targetSlide){ var $slideBtn = j$('.sliderItem', slideNav), noSliderClass = 'js-noslider', onClass = 'active'; slideNav.addClass(noSliderClass); if(!$slideBtn.hasClass(onClass)){ $slideBtn.eq(0).addClass(onClass); } $slideBtn.on('click', function(){ $slideBtn.removeClass(onClass); $(this).addClass(onClass); var sliderItemIndex = $slideBtn.index(this); targetSlide.slick('slickGoTo', sliderItemIndex); }); targetSlide.on('beforeChange', function(event, slick, currentSlide, nextSlide){ $slideBtn.removeClass(onClass); $slideBtn.eq(nextSlide).addClass(onClass); }); } /* slider設定 -------------------------------- */ if($slider01.length !== 0){ var arrowBox01 = '.js-e_slider01_arrows', linkToNav01 = '.js-e_slider01_ic'; $slider01.slick({ slidesToShow: 1, slidesToScroll: 1, speed: 300, centerMode: true, centerPadding: '0px', variableWidth: true, arrows: true, appendArrows: arrowBox01, infinite: false, asNavFor: (j$('.sliderItem', $slider01_nav).length >= 6) ? linkToNav01:'' }); $slider01.slideArrowControl($(arrowBox01)); if($slider01_nav.length !== 0){ if(j$('.sliderItem', $slider01_nav).length >= 6){ $slider01_nav.slick({ slidesToShow: 2, slidesToScroll: 1, dots: false, speed: 300, centerMode: true, centerPadding: '0px', variableWidth: true, arrows: false, focusOnSelect: true, infinite: false, asNavFor: '.js-e_slider01' }); //$slider01_nav.slideArrowControl(); }else{ sliderNavSetting01($slider01_nav, $slider01); } } } if($slider02.length !== 0){ var arrowBox02 = '.js-e_slider02_arrows', linkToNav02 = '.js-e_slider02_ic'; $slider02.slick({ slidesToShow: 1, slidesToScroll: 1, speed: 300, centerMode: true, centerPadding: '0px', variableWidth: true, arrows: true, appendArrows: arrowBox02, infinite:false, initialSlide: 2, asNavFor: (j$('.sliderItem', $slider02_nav).length >= 6) ? linkToNav02:'' }); $slider02.slideArrowControl(arrowBox02); if($slider02_nav.length !== 0){ if(j$('.sliderItem', $slider02_nav).length >= 6){ $slider02_nav.slick({ slidesToShow: 2, slidesToScroll: 1, dots: false, speed: 300, centerMode: true, centerPadding: '0px', variableWidth: true, arrows: false, focusOnSelect: true, infinite: false, initialSlide: 2, asNavFor: '.js-e_slider02' }); //$slider02_nav.slideArrowControl(); }else{ sliderNavSetting01($slider02_nav, $slider02); } } } function sliderSetting01(){ var width = j$(window).width(); if(width <= 750){ $slider03.not('.slick-initialized').slick({ slidesToShow: 1, slidesToScroll: 1, dots: true, speed: 300, appendDots: j$('.support_slick-dots'), arrows: true, appendArrows: j$('.support_slick-dots'), centerMode: true, centerPadding: '0px', variableWidth: true, adaptiveHeight: true, focusOnSelect: true, infinite: false, asNavFor: '.js-support_slide01_contents' }); $slider03_nav.not('.slick-initialized').slick({ slidesToShow: 1, slidesToScroll: 1, dots: false, speed: 300, arrows: false, centerMode: true, centerPadding: '0px', focusOnSelect: true, infinite: false, fade: true, touchMove: false, adaptiveHeight: true, asNavFor: '.js-support_slide01' }); $slider03.slick('slickGoTo', 0); $slider03.slideArrowControl('.support_slick-dots'); $slider03.on('afterChange', function(event, slick, currentSlide){ var self = $(this), $list = $('li', self); if($list.hasClass('active')){ $list.removeClass('active'); $list.eq(currentSlide).addClass('active'); } }); } else { $('.js-support_slide01.slick-initialized').slick('unslick'); $('.js-support_slide01_contents.slick-initialized').slick('unslick'); } } if($slider03.length !== 0){ sliderSetting01(); $(window).on("resize" ,function() { sliderSetting01(); }); } function sliderSetting02(){ var width = j$(window).width(); if(width <= 750){ $slider04.not('.slick-initialized').slick({ slidesToShow: 3, slidesToScroll: 1, dots: true, arrows: true, centerMode: true, centerPadding: '0px', variableWidth: true, focusOnSelect: true, infinite: false, }); $slider04.slideArrowControl(); } else { $('.js-step_slider01.slick-initialized').slick('unslick'); } } if($slider04.length !== 0){ sliderSetting02(); $(window).on("resize" ,function() { sliderSetting02(); }); } EPOS_CARD.module.equalHeight(true, true); EPOS_CARD.module.sizeFix(); } j$.enterTheScreen = function(){ var elem = j$('.sa'), isAnimate = 'show', wh = j$(window).height(), doch, bottom; if(elem.length === 0){ return false} j$(window).on('load', function (){ doch = j$(document).innerHeight(); bottom = doch - wh; }); j$(window).on('scroll', function (){ elem.each(function () { var elemOffset = j$(this).offset().top; var scrollPos = j$(window).scrollTop(); if(scrollPos > elemOffset - wh + (wh / 4) ){ j$(this).addClass(isAnimate); } if(bottom <= j$(window).scrollTop()){ $(this).addClass(isAnimate); } }); }); } })(jQuery);