我在项目中使用Slick slider
来满足我的需求,它具有next
和previous
按钮的此功能:
Slick.prototype.changeSlide = function(event, dontAnimate) {
var _ = this,
$target = $(event.target),
indexOffset, slideOffset, unevenOffset;
// If target is a link, prevent default action.
$target.is('a') && event.preventDefault();
unevenOffset = (_.slideCount % _.options.slidesToScroll !== 0);
indexOffset = unevenOffset ? 0 : (_.slideCount - _.currentSlide) % _.options.slidesToScroll;
switch (event.data.message) {
case 'previous':
slideOffset = indexOffset === 0 ? _.options.slidesToScroll : _.options.slidesToShow - indexOffset;
if (_.slideCount > _.options.slidesToShow) {
_.slideHandler(_.currentSlide - slideOffset, false, dontAnimate);
}
break;
case 'next':
slideOffset = indexOffset === 0 ? _.options.slidesToScroll : indexOffset;
if (_.slideCount > _.options.slidesToShow) {
_.slideHandler(_.currentSlide + slideOffset, false, dontAnimate);
}
break;
case 'index':
var index = event.data.index === 0 ? 0 :
event.data.index || $(event.target).parent().index() * _.options.slidesToScroll;
_.slideHandler(_.checkNavigable(index), false, dontAnimate);
break;
default:
return;
}
};
这是做什么的:计算总共有多少元素,当我点击向我显示另一张幻灯片时,它会让我从中获取:
1 2 3 4
到3 4 5 6
(考虑到总共只有6个元素),但是我想让它滑到5 6
而不是更多(因为我希望它可以滑动4个元素和如果没有要显示的4个元素,只显示剩余的元素。
我应该在这个函数中修改什么来实现它?