1/* carousel-v2.js */ 2var carousel = carousel || {}; 3 4(function($) { 5 'use strict'; 6 7 /** 8 * 9 * ãã¼ãã¼ããã«ç¨ slickãªãã·ã§ã³åå¾ 10 * 11 * @param {JQueryElement} ã«ã«ã¼ã»ã« 12 * @param {Object} slickãªãã·ã§ã³ 13 * @param {String} ã«ã«ã¼ã»ã«ã¿ã¤ã 14 * @returns {Object} slickãªãã·ã§ã³ 15 */ 16 function getHeroPanelSlickOptions($carousel, slickOptions, carouselType) { 17 18 slickOptions.appendArrows = $('.cmp-carousel__switcher', $carousel); 19 slickOptions.dots = true; 20 slickOptions.infinite = true; 21 slickOptions.responsive=[]; 22 23 var responsiveSmp = {}; 24 responsiveSmp.breakpoint = 767; 25 responsiveSmp.settings = {}; 26 responsiveSmp.settings.centerMode = true; 27 responsiveSmp.settings.variableWidth = true; 28 slickOptions.responsive.push(responsiveSmp); 29 30 if (carouselType == 'heroPanel--card') { 31 slickOptions.variableWidth = true; 32 slickOptions.centerMode = true; 33 } 34 35 return slickOptions; 36 } 37 38 /** 39 * 40 * ã«ã«ã¼ã»ã«ç¨ slickãªãã·ã§ã³åå¾ 41 * 42 * @param {JQueryElement} ã«ã«ã¼ã»ã« 43 * @param {Object} slickãªãã·ã§ã³ 44 * @param {Long} åæè¡¨ç¤ºæ° 45 * @returns {Object} slickãªãã·ã§ã³ 46 */ 47 function getCarouselSlickOptions($carousel, slickOptions, slidesToShow) { 48 49 slickOptions.appendArrows = $('.cmp-au-com-carousel__header__switcher', $carousel); 50 slickOptions.dots = false; 51 slickOptions.slidesToShow = slidesToShow; 52 slickOptions.responsive=[]; 53 54 var responsiveTb = {}; 55 responsiveTb.breakpoint = 979; 56 responsiveTb.settings = {}; 57 58 var responsiveSmp = {}; 59 responsiveSmp.breakpoint = 767; 60 responsiveSmp.settings = {}; 61 62 var responsiveMiniSmp = {}; 63 responsiveMiniSmp.breakpoint = 639; 64 responsiveMiniSmp.settings = {}; 65 66 67 if (slidesToShow == 2) { 68 responsiveSmp.settings.slidesToShow = 1; 69 70 } else if (slidesToShow == 3) { 71 responsiveTb.settings.slidesToShow = 2; 72 responsiveSmp.settings.slidesToShow = 1; 73 74 } else if (slidesToShow == 4) { 75 responsiveTb.settings.slidesToShow = 3; 76 responsiveMiniSmp.settings.slidesToShow = 2; 77 78 } else if (slidesToShow == 5) { 79 responsiveTb.settings.slidesToShow = 4; 80 responsiveSmp.settings.slidesToShow = 3; 81 responsiveMiniSmp.settings.slidesToShow = 2; 82 83 } 84 85 if (responsiveTb.settings.slidesToShow) { 86 slickOptions.responsive.push(responsiveTb); 87 } 88 89 if (responsiveSmp.settings.slidesToShow) { 90 slickOptions.responsive.push(responsiveSmp); 91 } 92 93 if (responsiveMiniSmp.settings.slidesToShow) { 94 slickOptions.responsive.push(responsiveMiniSmp); 95 } 96 97 return slickOptions; 98 } 99 100 /** 101 * 102 * ãã©ã¤ããªã¼ããã¼ç¨ slickãªãã·ã§ã³åå¾ 103 * 104 * @param {JQueryElement} ã«ã«ã¼ã»ã« 105 * @param {Object} slickãªãã·ã§ã³ 106 * @returns {Object} slickãªãã·ã§ã³ 107 */ 108 function getPrimaryBannerSlickOptions($carousel, slickOptions) { 109 110 slickOptions.arrows = false; 111 slickOptions.dots = true; 112 slickOptions.fade = true; 113 slickOptions.speed = 1000; 114 115 return slickOptions; 116 } 117 118 /** 119 * 120 * ã»ã«ã³ããªã¼ããã¼ç¨ slickãªãã·ã§ã³åå¾ 121 * 122 * @param {JQueryElement} ã«ã«ã¼ã»ã« 123 * @param {Object} slickãªãã·ã§ã³ 124 * @returns {Object} slickãªãã·ã§ã³ 125 */ 126 function getSecondaryBannerSlickOptions($carousel, slickOptions) { 127 128 slickOptions.appendArrows = $('.cmp-carousel__switcher', $carousel); 129 slickOptions.centerMode = true; 130 slickOptions.centerPadding = '0%'; 131 slickOptions.initialSlide = $('.cmp-carousel__item', $carousel).length == 3 ? 0 : 1; 132 slickOptions.slidesToShow = 3; 133 slickOptions.responsive=[]; 134 135 var responsiveSmp = {}; 136 responsiveSmp.breakpoint = 767; 137 responsiveSmp.settings = {}; 138 responsiveSmp.settings.arrows = false; 139 responsiveSmp.settings.centerMode = true; 140 responsiveSmp.settings.centerPadding = '10%'; 141 responsiveSmp.settings.initialSlide = 1; 142 responsiveSmp.settings.slidesToShow = 1; 143 slickOptions.responsive.push(responsiveSmp); 144 145 return slickOptions; 146 } 147 148 /** 149 * 150 * slickãªãã·ã§ã³åå¾ 151 * 152 * @returns {Object} slickãªãã·ã§ã³ 153 */ 154 function getSlickOptions($carousel) { 155 156 // slickãªãã·ã§ã³è¨å® 157 var autoplay = $carousel.data('cmp-autoplay') == true;
158 var delay = $carousel.data('cmp-delay'); 159 var autopauseDisabled = $carousel.data('cmp-autopause-disabled'); 160 var carouselType = $carousel.data('cmp-carouseltype'); 161 var slidesToShow = $carousel.data('cmp-slidestoshow'); 162 var slickOptions = {}; 163 164 // å ±éè¨å® 165 if (autoplay) { 166 slickOptions.autoplay = autoplay; 167 slickOptions.autoplaySpeed = delay; 168 slickOptions.pauseOnFocus = !autopauseDisabled; 169 slickOptions.pauseOnHover = !autopauseDisabled; 170 } 171 172 // åå¥è¨å® 173 switch (carouselType) { 174 // ãã¼ãã¼ããã« 175 case 'heroPanel--categoryPanel': 176 case 'heroPanel--card': 177 slickOptions = getHeroPanelSlickOptions($carousel, slickOptions, carouselType); 178 break; 179 // ã«ã«ã¼ã»ã« 180 case 'carousel': 181 slickOptions = getCarouselSlickOptions($carousel, slickOptions, slidesToShow); 182 break; 183 // ãã©ã¤ããªã¼ããã¼ 184 case 'primaryBanner': 185 slickOptions = getPrimaryBannerSlickOptions($carousel, slickOptions); 186 break; 187 // ã»ã«ã³ããªã¼ããã¼ 188 case 'secondaryBanner' : 189 slickOptions = getSecondaryBannerSlickOptions($carousel, slickOptions); 190 break; 191 } 192 193 return slickOptions; 194 } 195 196 /** 197 * 198 * ã«ã«ã¼ã»ã«ç»ååæå 199 * 200 * @param {JQueryElement} ã«ã«ã¼ã»ã«ã³ã³ãã³ã 201 * @param {JQueryElement} ç»å 202 * @param {Object} imgStatus 203 * @returns {Object} slickãªãã·ã§ã³ 204 */ 205 function initialyzeCarouselImgs($carouselContent, $imgs, imgStatus) { 206 if (!imgStatus.readyAllImg) { 207 imgStatus.readyAllImg = responsiveImage.prepareLoadAll($imgs, true); 208 } 209 if (imgStatus.readyAllImg && !imgStatus.loadAllImg) { 210 imgStatus.loadAllImg = responsiveImage.confirmLoadAll($imgs); 211 } 212 if (imgStatus.loadAllImg && !imgStatus.matchedHeight) { 213 imgStatus.matchedHeight = $carouselContent.matchHeight(); 214 } 215 return imgStatus; 216 } 217 218 /** 219 * 220 * ã«ã«ã¼ã»ã«åæå 221 * 222 * @param {String} ID 223 * 224 */ 225 var initialyzeCarousel = function (id) { 226 var $carousel = $('#' + id); 227 var $carouselContent = $('.cmp-carousel__content', $carousel); 228 var $carouselItems = $('.cmp-carousel__items', $carouselContent); 229 var $imgs = $('img.lazyload', $carouselItems); 230 responsiveImage.prepareLoadAll($imgs, true); 231 var slickOptions = getSlickOptions($carousel); 232 $carouselItems 233 .on('init refresh', function() { 234 var $imgs = $('img.lazyload', $carouselItems); 235 var imgStatus = {}; 236 imgStatus.readyAllImg = false; 237 imgStatus.loadAllImg = false; 238 imgStatus.matchedHeight = false; 239 $imgs.on('img:load', function() { 240 imgStatus = initialyzeCarouselImgs($carouselContent, $imgs, imgStatus); 241 }); 242 imgStatus = initialyzeCarouselImgs($carouselContent, $imgs, imgStatus); 243 }); 244 var slickSlide = undefined; 245 $carouselItems.parent().on('inview', function(){ 246 if ($carouselItems.parent().isVisible()) { 247 if (slickSlide) { 248 $carouselItems.slick('slickRemove', slickSlide); 249 } 250 slickSlide = $carouselItems.not('.slick-initialized').slick(slickOptions); 251 } 252 }); 253 254 } 255 256 carousel.v2 = {}; 257 carousel.v2.init = initialyzeCarousel; 258 259})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.