仅设置最后显示的 Slick Slider 幻灯片的样式?
Style only the last showing Slick Slider slide?
我使用的是仅显示 4 张幻灯片的 Slick Slider。它旋转的幻灯片是无限的。
我需要最后一张幻灯片显示不同的样式。我注意到当前的 4 张幻灯片有 class .slick-active
,因此尝试了我的样式 .slide.slick-active:last-of-type{}
但是,当滑块设置为无限时,这似乎不起作用。
如何让当前上次放映的幻灯片具有不同的样式?
我猜你可以用js改变风格
你可以做到这一点
$('.slides').on('beforeChange', function(event, slick, currentSlide, nextSlide){
console.log(nextSlide);
if (nextSlide == 0) {
// change style
}
});
我设法为第 4 张幻灯片设置了样式,即使在旋转后也只有第 4 张幻灯片使用以下 CSS:
.slick-active + .slick-active + .slick-active + .slick-active
我只是无法让 JS 检测它是否是第 4 号幻灯片。如果我只想要第二个样式,则如下所示:
.slick-active + .slick-active
如果您想使用 JavaScript 完成此操作,您可以使用以下方法将新的 CSS class ('highlight') 添加到最后一张幻灯片:
document.querySelector('.your-slick-slideshow').on('init'){
// Get all of the slide elements
const slides = document.querySelectorAll('.your-slick-slideshow .slick-slide');
// If we have some slides
if (slides.length) {
// Add the 'highlight' class to the last slide in the list
slides[slides.length - 1].classList.add('highlight');
}
});
当然,您需要将.your-slick-slideshow
替换为与您的幻灯片对应的class。
那么你只需要为.highlight
添加一个样式:
.highlight {
border: 2px solid orange;
}
我使用的是仅显示 4 张幻灯片的 Slick Slider。它旋转的幻灯片是无限的。
我需要最后一张幻灯片显示不同的样式。我注意到当前的 4 张幻灯片有 class .slick-active
,因此尝试了我的样式 .slide.slick-active:last-of-type{}
但是,当滑块设置为无限时,这似乎不起作用。
如何让当前上次放映的幻灯片具有不同的样式?
我猜你可以用js改变风格 你可以做到这一点
$('.slides').on('beforeChange', function(event, slick, currentSlide, nextSlide){
console.log(nextSlide);
if (nextSlide == 0) {
// change style
}
});
我设法为第 4 张幻灯片设置了样式,即使在旋转后也只有第 4 张幻灯片使用以下 CSS:
.slick-active + .slick-active + .slick-active + .slick-active
我只是无法让 JS 检测它是否是第 4 号幻灯片。如果我只想要第二个样式,则如下所示:
.slick-active + .slick-active
如果您想使用 JavaScript 完成此操作,您可以使用以下方法将新的 CSS class ('highlight') 添加到最后一张幻灯片:
document.querySelector('.your-slick-slideshow').on('init'){
// Get all of the slide elements
const slides = document.querySelectorAll('.your-slick-slideshow .slick-slide');
// If we have some slides
if (slides.length) {
// Add the 'highlight' class to the last slide in the list
slides[slides.length - 1].classList.add('highlight');
}
});
当然,您需要将.your-slick-slideshow
替换为与您的幻灯片对应的class。
那么你只需要为.highlight
添加一个样式:
.highlight {
border: 2px solid orange;
}