/* ------------------------------------------- * @constructor ------------------------------------------- */ var u = new EPOS_CARD.Util(); // u インスタンスを作成 /* ------------------------------------------- * @init ------------------------------------------- */ j$(function(){ j$.enterTheScreen(); j$.sliderSetSlick(); j$.scrolNav(); j$.sideMenuControl(); j$.rotationSliderRenew(); j$.modal(); }); /* ------------------------------------------- * @plugin ------------------------------------------- */ (function(j$){ var u = new EPOS_CARD.Util(); // u インスタンスを作成 j$.enterTheScreen = function(){ var elem = j$('.js-enterTheScreen'), isAnimate = 'isAnimate', wh = j$(window).height(), doch, bottom; if(elem.length === 0){ return false} function entry(){ 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); } }); } j$(window).on('load', function (){ doch = j$(document).innerHeight(); bottom = doch - wh; entry(); }); j$(window).on('scroll', function (){ entry() }); } /* * @plugin - rotationSliderRenew */ j$.rotationSliderRenew = function(){ // vars var $wrap = j$(".rotationWrapRenewl"), $slides = $wrap.find(".rotationSlidesRenewl"), $slideElm = $slides.children("div"), slideLen = $slideElm.length, initialWin = u.$win.width(); if(slideLen < 5){ return false; } // slider settting var slideSet__pc = { // PC幅のスライダー設定 pager: false, controls: true, speed: 700, pause: 5000, minSlides: 4, maxSlides: 4, slideWidth: 230, slideMargin: 33, moveSlides: 1, onSlideAfter: function(){ slider.startAuto(); } }, slideSet__sp = { // SP幅のスライダー設定 slideWidth: 1020, pager: false, controls: true, speed: 700, pause: 5000, minSlides: 2, maxSlides: 2, slideMargin: 20, moveSlides: 1, onSlideAfter: function(){ slider.startAuto(); } }, slideSet = (u.isRangeSP())? slideSet__sp:slideSet__pc; // slide init var slider = $slides.bxSlider(slideSet); // リサイズ時に幅を判定してスライダー設定を分岐 u.isWindowSizeCheck(function(){ var resizeWin = u.$win.width(); if(resizeWin === initialWin){ return false; } else { slideSet = (u.isRangeSP())? slideSet__sp:slideSet__pc; slider.reloadSlider(slideSet); initialWin = resizeWin; } }); }; j$.sliderSetSlick = function(){ //if($('.top-slider01').length === 0){return false} var initialWin = u.$win.width(); var stayAutoPlay = function(sliderName){ var t = $(sliderName).offset().top; var p = t - $(window).height(); $(window).on('scroll load',function(){ if($(window).scrollTop() > p && !$(sliderName).hasClass('play')){ $(sliderName).slick('slickPlay'); $(sliderName).addClass('play'); } }); } u.isWindowSizeCheck(function(){ var resizeWin = u.$win.width(); if(resizeWin === initialWin){ return false; } else { if(u.isRangeSP()){ j$('.js-top_slider04').not('.slick-initialized').slick({ autoplay: true, variableWidth: true, slidesToScroll: 1, slidesToShow: 2, centerMode: true, centerPadding: '0px', autoplaySpeed: 4200, speed: 400, dots: true, dotsClass: 'top-sliderDots', }); j$('.js-top_slider01').slick({ autoplay: false, variableWidth: true, slidesToScroll: 1, slidesToShow: 2, centerMode: true, centerPadding: '0px', autoplaySpeed: 4200, speed: 400, dots: true, dotsClass: 'top-sliderDots', }); j$('.js-top_slider03').slick({ autoplay: false, variableWidth: true, slidesToScroll: 1, slidesToShow: 3, centerMode: true, centerPadding: '0px', autoplaySpeed: 4200, speed: 400, dots: true, dotsClass: 'top-sliderDots', }); j$('.js-top_slider02').slick({ autoplay: false, variableWidth: true, slidesToScroll: 1, slidesToShow: 3, centerMode: true, centerPadding: '0px', autoplaySpeed: 4200, speed: 400, dots: true, dotsClass: 'top-sliderDots', }); } else { j$('.js-top_slider04.slick-initialized').slick('unslick'); j$('.js-top_slider04').find('.slick-track').remove(); j$('.js-top_slider01.slick-initialized').slick('unslick'); j$('.js-top_slider01').find('.slick-track').remove(); j$('.js-top_slider03.slick-initialized').slick('unslick'); j$('.js-top_slider03').find('.slick-track').remove(); j$('.js-top_slider02.slick-initialized').slick('unslick'); j$('.js-top_slider02').find('.slick-track').remove(); } initialWin = resizeWin; } }); if(u.isRangeSP()){ j$('.js-top_slider01').slick({ autoplay: false, variableWidth: true, slidesToScroll: 1, slidesToShow: 2, centerMode: true, centerPadding: '0px', autoplaySpeed: 4200, speed: 400, dots: true, dotsClass: 'top-sliderDots', }); stayAutoPlay('.js-top_slider01'); } if(u.isRangeSP()){ j$('.js-top_slider02').slick({ autoplay: false, variableWidth: true, slidesToScroll: 1, slidesToShow: 3, centerMode: (u.isRangeSP())? true : false, centerPadding: '0px', autoplaySpeed: 4200, speed: 400, dots: true, dotsClass: 'top-sliderDots', }); stayAutoPlay('.js-top_slider02'); } if(u.isRangeSP()){ j$('.js-top_slider03').slick({ autoplay: false, variableWidth: true, slidesToScroll: 1, slidesToShow: 3, centerMode: true, centerPadding: '0px', autoplaySpeed: 4200, speed: 400, dots: true, dotsClass: 'top-sliderDots', }); stayAutoPlay('.js-top_slider03'); } if(u.isRangeSP()){ j$('.js-top_slider04').not('.slick-initialized').slick({ autoplay: true, variableWidth: true, slidesToScroll: 1, slidesToShow: 2, centerMode: true, centerPadding: '0px', autoplaySpeed: 4200, speed: 400, dots: true, dotsClass: 'top-sliderDots', }); stayAutoPlay('.js-top_slider04'); } j$('.js-top_slider05').slick({ autoplay: false, variableWidth: true, slidesToScroll: 1, slidesToShow: 1, centerMode: true, centerPadding: '0px', autoplaySpeed: 4200, speed: 400, }); stayAutoPlay('.js-top_slider05'); j$('.js-mainVisualSlider').slick({ pauseOnFocus: false, pauseOnHover: false, autoplay: true, slidesToScroll: 1, slidesToShow: 1, autoplaySpeed: 4000, speed: 2100, fade: true, swipe: false, arrows:false, dots: false }); j$('.js-application_slider01').slick({ autoplay: true, slidesToScroll: 1, slidesToShow: 1, centerMode: true, centerPadding: '0px', autoplaySpeed: 5000, pauseOnFocus: false, pauseOnHover: false, speed: 300, dots: false, touchMove: true, asNavFor: '.js-application_slider-links', }); j$('.js-application_slider02').slick({ autoplay: true, variableWidth: true, slidesToScroll: 1, slidesToShow: 1, centerMode: true, centerPadding: '0px', autoplaySpeed: 5000, pauseOnFocus: false, pauseOnHover: false, speed: 300, arrows:true, dots: true, dotsClass: 'top-sliderDots', appendDots: j$('.applicationSliderBox .applicationSliderNav'), asNavFor: '.js-application_slider-links', }); j$('.js-application_slider03').slick({ autoplay: true, variableWidth: false, slidesToScroll: 1, slidesToShow: 1, centerMode: true, centerPadding: '0px', autoplaySpeed: 5000, pauseOnFocus: false, pauseOnHover: false, speed: 300, arrows:true, dots: false, asNavFor: '.js-application_slider-links', }); } j$.scrolNav = function(){ if(j$('#scrolNav').length === 0){return false} var elem = j$('.scrolNavItem'), line = j$('.scrolNavLineOn'), onClass = 'on', activeClass = 'active', wh = j$(window).height(), elemLength = elem.length - 1, elemPer; j$(window).on('scroll', function (){ elem.each(function (i) { var elemTarget = j$(this).attr('data-target'), elemOffset = j$('#' + elemTarget).offset().top, scrollPos = j$(window).scrollTop(), elemHeight = j$('#' + elemTarget).innerHeight(); if(scrollPos > elemOffset - wh + (wh / 3) ){ j$(this).addClass(onClass); }else{ j$(this).removeClass(onClass); } if(scrollPos > elemOffset - wh + (wh / 3) && elemOffset - wh + (wh / 3) + elemHeight > scrollPos ){ j$(this).addClass(activeClass); elemPer = i / elemLength * 100; line.css('height', elemPer + '%'); }else{ j$(this).removeClass(activeClass); } }); }); } j$.sideMenuControl = function(){ var u = new EPOS_CARD.Util(); // vars var $elm = $(".top-sidenav"); if($elm.length === 0){ return false; } var onColass = "on", $navBtn = $(".top-sidenav_btn"), $inner = $(".sidenav_inner"), $navLink = $inner.find(".navList02 a"), $bg = $(".sidenav_bg"), speed = 300; // click $navBtn.on("click", function(){ if($(this).hasClass(onColass)){ $(this).removeClass(onColass); $inner.removeClass(onColass) $bg.stop().fadeOut(speed); } else { $(this).addClass(onColass); $inner.addClass(onColass); $bg.stop().fadeIn(speed); } }); $navLink.on("click", function(){ $navBtn.removeClass(onColass); $inner.removeClass(onColass) $bg.stop().fadeOut(speed); }); $bg.on("click", function(){ $navBtn.removeClass(onColass); $inner.removeClass(onColass) $bg.stop().fadeOut(speed); }); // function var dsClass = "active"; var fdOut = function(target){ target.fadeOut(speed).removeClass(dsClass); }; var fdIn = function(target){ if($navBtn.hasClass(dsClass)) { // 既にスクロールが始まっていたら処理しない return; } else { target.fadeIn(speed).addClass(dsClass); } }; var scrollAct = function(){ var top = u.$win.scrollTop(), scrTop = $(".top-sideNavShow").offset().top; scrTop = scrTop - 10; if (top <= scrTop){ fdOut($navBtn); } else { fdIn($navBtn); } }; // trigger scrollAct(); u.$win.on("scroll",function(){ scrollAct(); }); }; /* * modal */ j$.modal = function(config){ // vars var $elm = j$(".js-newcard_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:640, innerHeight:418, 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(); } }); } } })(jQuery);