/********************************************* * gintama.js *********************************************/ /* ------------------------------------------- * @init ------------------------------------------- */ j$(function(){ var u = new EPOS_CARD.Util(); j$.avoidScrollbar(); j$.mainSlider01(); j$.twitterSlider01(); j$.cardSlider01(); j$.customScroll(); j$.addView(); j$.modal(); }); /* ------------------------------------------- * @plugin ------------------------------------------- */ (function(j$){ var u = new EPOS_CARD.Util(); // u インスタンスを作成 /** * @method slider */ j$.mainSlider01 = function(){ var c = { sliderName: ".js-portal_slider01" }; var $elm = j$(c.sliderName); if($elm.length === 0){ return false; } $elm.each(function(){ j$(this).slick({ pauseOnFocus: false, pauseOnHover: false, autoplay: true, slidesToScroll: 1, slidesToShow: 1, autoplaySpeed: 4000, speed: 2100, fade: true, swipe: false, arrows:true, dots: true }); }); } /** * @method slider */ j$.twitterSlider01 = function(){ var c = { sliderName: ".js-twitter_slider01" }; var $elm = j$(c.sliderName); if($elm.length === 0){ return false; } var pc_option = { vertical: true, verticalSwiping: true, autoplay: true, slidesToScroll: 1, slidesToShow: 2, swipeToSlide: true, centerMode: true, autoplaySpeed: 3000, speed: 400, arrows: true, dots: false }, sp_option = { vertical: false, verticalSwiping: false, variableWidth: true, autoplay: true, slidesToScroll: 1, slidesToShow: 2, swipeToSlide: true, centerMode: true, centerPadding: '0', autoplaySpeed: 3000, speed: 400, arrows: true, dots: false, }, slideSet = (u.isRangeSP())? sp_option:pc_option, initialWin = u.$win.width(); $elm.slick(slideSet); u.isWindowSizeCheck(function(){ var resizeWin = u.$win.width(); if(resizeWin === initialWin){ return false; } else { slideSet = (u.isRangeSP())? sp_option:pc_option; j$(c.sliderName + '.slick-initialized').slick('unslick'); $elm.find('.slick-track').remove(); $elm.slick(slideSet); initialWin = resizeWin; } }); } /** * @method slider */ j$.cardSlider01 = function(){ var c = { sliderName: ".js-card_slider01", on_currentClassName: "js-card_slider-current--on", off_currentClassName: "js-card_slider-current--off" }; var $elm = j$(c.sliderName); if($elm.length === 0){ return false; } $elm.on('init',function(){ $('.slick-current ').addClass(c.on_currentClassName); }); $elm.slick({ variableWidth: true, autoplay: true, slidesToScroll: 1, slidesToShow: 3, swipeToSlide: false, swipe: false, centerMode: true, centerPadding: '0', pauseOnFocus: false, pauseOnHover: false, autoplaySpeed: 2000, speed: 400, arrows: false, dots: false, }); // スライド切り替え前 $elm.on('beforeChange',function(){ $('.slick-current', this).removeClass(c.on_currentClassName); $('.slick-current', this).addClass(c.off_currentClassName); }); // スライド切り替え後 $elm.on('afterChange',function(){ $('.slick-slide', this).removeClass(c.off_currentClassName); $('.slick-current ', this).addClass(c.on_currentClassName); }); } /* * 既存踏襲 * j$.customScroll * カスタムスクロールバー */ j$.customScroll = function(){ var $scrollElm = j$(".js-news_area") if($scrollElm.length === 0){ return false; } j$(window).load(function(){ $scrollElm.mCustomScrollbar({ scrollButtons:{enable:true}, theme:"my-theme" }); }); }; /* * 既存踏襲 * j$.addView * もっと見る(追加表示) */ j$.addView = function(){ var $elm = $('.js-addview-Wrap'), contentClass = 'js-addview-content', buttonWrapClass = 'js-addview-button-wrap', buttonClass = 'js-addview-button', $removeClass = $('.js-index-hidden'), buttonHTML = '
'; if($elm.length === 0){return false} $removeClass.remove(); $elm.each(function(){ var self = $(this), $content = $('.' + contentClass ,self), initialNumber = 10; $content.eq(initialNumber - 1).addClass(buttonWrapClass).append(buttonHTML); $content.slice(initialNumber).hide(); var $button = $('.' + buttonClass ,self); $button.on('click', function(){ $content.not(':visible').show(); $button.hide(); }); }); } /* * modal */ j$.modal = function(config){ // vars var $elm = j$(".js-portal_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(); } }); } } /** * @method avoidScrollbar */ j$.avoidScrollbar= function(config){ var u = new EPOS_CARD.Util(); var c = j$.extend({ className: '.js-avoid-scrollbar', }, config); var $elm = $(c.className); if($elm.length == 0){return false} var paddingSet = function(){ var scrollbarWidth = window.innerWidth - $(window).width(); $elm.each(function(){ if($(this).hasClass('type-both')){ $(this).css({ 'padding-right': (scrollbarWidth / 2) + "px", 'padding-left': (scrollbarWidth / 2) + "px", }); } else { $(this).css({ 'padding-right': scrollbarWidth + "px", }); } }); }; //初期表示 paddingSet(); //画面リサイズ時 u.isWindowSizeCheck(paddingSet); } })(jQuery);