headerHeight) {
$('body').addClass('header-fixed');
} else {
$('body').removeClass('header-fixed');
}
});
function getHeaderHeight() {
const h1 = $("header").height() || 0;
const h2 = $("nav.crumb").height() || 0;
return h1 + h2;
}
});
function isSpMode() {
return $(".slidemenu-btn").is(":visible");
}
function setSwiperA11yRegion($target) {
$target
.attr('role', 'region')
.attr('aria-roledescription', 'ギャラリー')
.attr('aria-label', 'スライドの説明 ギャラリーのスライドです。')
.removeAttr('tabindex');
}
function initGallerySwiper(target) {
const $target = $(target);
const $slideMain = $target.find('.swiper-main');
const $naviNext = $slideMain.find('.swiper-button-next');
const $naviPrev = $slideMain.find('.swiper-button-prev');
setSwiperA11yRegion($target);
return new Swiper($slideMain.get(0), {
loop: true,
slidesPerView: 1,
centeredSlides: true,
effect: 'fade',
fadeEffect: {
crossFade: true
},
speed: 500,
navigation: {
nextEl: $naviNext.get(0),
prevEl: $naviPrev.get(0)
},
a11y: {
enabled: true,
prevSlideMessage: '前のスライド',
nextSlideMessage: '次のスライド',
slideLabelMessage: '{{index}}/{{slides}} 枚目のスライド'
},
on: {
slideChangeTransitionEnd: function () {
if (!isSpMode()) {
$slideMain.find('.swiper-slide').attr('tabindex', '-1');
const $active = $slideMain.find('.swiper-slide-active');
$active.attr('tabindex', '0');
if ($slideMain.find(':focus').length > 0) {
$active.focus();
}
}
}
}
});
}
// ccc
function initCaptureSwiper(target) {
const $target = $(target);
const $slideMain = $target.find('.swiper-main');
const $naviNext = $target.find('.swiper-button-next');
const $naviPrev = $target.find('.swiper-button-prev');
const slideNum = $slideMain.find('.swiper-wrapper > .swiper-slide').length;
setSwiperA11yRegion($target);
const swiper = new Swiper($slideMain.get(0), {
loop: true,
loopedSlides: slideNum,
loopAdditionalSlides: slideNum,
slidesPerView: 1,
spaceBetween: 16,
centeredSlides: false,
effect: 'slide',
speed: 500,
allowTouchMove: true,
simulateTouch: true,
observer: true,
observeParents: true,
navigation: {
nextEl: ".capture-swiper-next",
prevEl: ".capture-swiper-prev"
},
a11y: {
enabled: true,
prevSlideMessage: '前のスライド',
nextSlideMessage: '次のスライド',
slideLabelMessage: '{{index}}/{{slides}} 枚目のスライド'
},
breakpoints: {
768: {
spaceBetween: 24,
slidesPerView: 'auto',
}
},
on: {
init: function (swiperInstance) {
swiperInstance.update();
},
slideChangeTransitionEnd: function () {
if (!isSpMode()) {
$slideMain.find('.swiper-slide').attr('tabindex', '-1');
const $active = $slideMain.find('.swiper-slide-active');
$active.attr('tabindex', '0');
if ($slideMain.find(':focus').length > 0) {
$active.focus();
}
}
}
}
});
$(window).on('load', function () {
swiper.update();
});
return swiper;
}


















