(function ($) { // 鍒涘缓swiper瀵硅薄 Drupal.behaviors.swiper5 = { Default: function (e, index) { var $this = $(e); var options = {}; var setting = {}; // 榛樿閰嶇疆 var _default = { pagination: { el: ".pagination-" + index, clickable: true, }, navigation: { nextEl: ".swiper-button-next", prevEl: ".swiper-button-prev", }, autoplay: $this.data("autoplay") === false ? false : { delay: $this.data("autoplay") || 10000, }, loop: true, calculateHeight: $this.data("calculateheight") || false, slidesPerView: $this.data("perview") || 1, paginationClickable: true, on: { click: function () { var url = this.clickedSlide && this.clickedSlide.getAttribute("data-url"); if (url) window.open(url, "_blank"); }, }, // onSlideClick: function () { // if (this.clickedSlide.getAttribute("data-url")) { // var url = this.clickedSlide.getAttribute("data-url"); // window.open(url, "_blank"); // } // }, // onSwiperCreated: function () { // console.log(this); // if (this.container.className.indexOf("numerical-pagination") > -1) { // $(e) // .find(".pagination span") // .each(function (key) { // $(this).append(key + 1); // }); // } // }, }; // 鍚堝苟閰嶇疆 if ($this.data("name")) { if ((setting = Drupal.behaviors.swiperSettings[$this.data("name")])) { options = _.extend(_default, setting); } } else { options = _default; } // preview绉诲姩绔厤缃 if ($("body").width() <= 768) { options.slidesPerView = $this.data("mobile-perview") || 1; } return options; }, // 瀹炰緥鍖杝wiper init: function (e, index) { var mySwiper = new Swiper(e, this.Default(e, index)); $(mySwiper.container) .find(".swiper-button-prev") .on("click", function (e) { e.preventDefault(); mySwiper.swipePrev(); }); $(mySwiper.container) .find(".swiper-button-next") .on("click", function (e) { e.preventDefault(); mySwiper.swipeNext(); }); $(e) .find(".swiper-wrapper") .css("width", Math.ceil($(e).find(".swiper-wrapper").width())); return mySwiper; }, // 鎺у埗閿绉 outsideArrow: function (swiperEL) { swiperEL.wrap('
'); $next = swiperEL.find(".swiper-button-next").css("right", "-20px"); $prev = swiperEL.find(".swiper-button-prev").css("left", "-30px"); $next.parent().after($next, $prev); }, mutualNavigation: function (swiperContent, swiperNav) { // swiperConetent瀹炰緥 swiperContent.addCallback("SlideChangeStart", function () { $(swiperNav.container).find(".active-nav").removeClass("active-nav"); var index = swiperContent.activeLoopIndex; var activeNav = $(swiperNav.container) .find(".swiper-slide") .eq(index) .addClass("active-nav"); swiperNav.swipeTo(index); }); swiperNav.addCallback("SlideClick", function () { swiperContent.swipeTo(swiperNav.clickedSlideIndex); }); $(swiperNav.container) .find(".swiper-slide-active") .addClass("active-nav"); }, }; // 鑱斿姩swiper瀵硅薄 var swipeContent = ""; var swipeNav = ""; $(".swiper-container").each(function (index) { $(this) .find(".pagination") .addClass("pagination-" + index); $(this).addClass("swiper-container-" + index); //缁戝畾 if ($(this).hasClass("swiper-content")) { swipeContent = Drupal.behaviors.swiper5.init( ".swiper-container-" + index, index ); } else if ($(this).hasClass("swiper-nav")) { swipeNav = Drupal.behaviors.swiper5.init( ".swiper-container-" + index, index ); } else { Drupal.behaviors.swiper5.init(".swiper-container-" + index, index); } //鎺у埗澶栫Щ if ($(this).data("outsidearrow")) { Drupal.behaviors.swiper5.outsideArrow($(this)); } }); if (typeof swipeContent == "object" && typeof swipeNav == "object") { Drupal.behaviors.swiper5.mutualNavigation(swipeContent, swipeNav); } })(jQuery);