javascript - 在 slick.js 中添加幻灯片计数
问题描述
我正在使用 Slick.js 在我的页面上显示幻灯片。它按预期工作但是我试图在滑块底部添加一个滑块计数器,如果显示第一张幻灯片将显示 1/4,如果显示第二张幻灯片则显示 2/4,等等。我尝试使用dotsClass: 'custom_paging'
功能,但是这将 1 of 4, 2 of 4 显示为列表,而不仅仅是 1/4 或 2/4 等,具体取决于显示的幻灯片。
代码:
$(document).ready(function () {
$('.project-carousel').slick({
centerMode: true,
infinite: true,
centerPadding: '40px',
slidesToShow: 3,
dots: true,
dotsClass: 'custom_paging',
customPaging: function (slider, i) {
var slideNumber = (i + 1),
totalSlides = slider.slideCount;
return slideNumber + ' of ' + totalSlides;
},
responsive: [{
breakpoint: 768,
settings: {
arrows: false,
centerMode: true,
centerPadding: '40px',
slidesToShow: 3
}
},
{
breakpoint: 480,
settings: {
arrows: false,
centerMode: true,
centerPadding: '40px',
slidesToShow: 1
}
}
]
});
$('.slick-slider').on('click', '.slick-slide', function (e) {
e.stopPropagation();
var index = $(this).data("slick-index");
if ($('.slick-slider').slick('slickCurrentSlide') !== index) {
$('.slick-slider').slick('slickGoTo', index);
}
});
});
解决方案
实际上,我已经找到了解决方案,并在下面添加了以下代码:
var $status = $('.counter-info');
var $slickElement = $('.project-carousel');
$slickElement.on('init reInit afterChange', function (event, slick, currentSlide, nextSlide) {
//currentSlide is undefined on init -- set it to 0 in this case (currentSlide is 0 based)
var i = (currentSlide ? currentSlide : 0) + 1;
$status.html( '<span class="current_slide">' + i + '</span> / <span class="total_slides"> ' + slick.slideCount + '</span>');
});
推荐阅读
- javascript - Angular 4:按钮组件的禁用行为
- python - Python 为字典中的每个条目运行脚本
- azure-functions-core-tools - 如何在 Logic App 中选择一种以上的翻译语言?
- python - ModuleNotFoundError:没有名为“_ctype”的模块
- android - 使用长写入构建器在每次批量写入之间添加延迟
- spring-boot - 在升级到 Spring Boot 2.0 时,得到 UnsatisfiedDependencyException
- actionscript-3 - 如何使滚动窗格中文本字段的自动换行正常工作并且不触发水平滚动
- c - CS50 问题集 1(现金/贪婪算法)出现运行时错误:有符号整数溢出
- get - rtweet 包的 get_timeline() 函数存在问题
- kubernetes - 如何将两个不同的 Cloud Armor BackendConfigs 注释到服务