gpt4 book ai didi

jquery - 无限 slider 上一个按钮逻辑不起作用

转载 作者:技术小花猫 更新时间:2023-10-29 11:41:51 26 4
gpt4 key购买 nike

我正在尝试使用 jQuery 创建一个无限 slider 。当前幻灯片占屏幕的 2/3,下一张幻灯片占屏幕的 1/3。所以您已经看到了下一张幻灯片的预览。

我构建的 slider 正在运行。当您单击 next 时, slider 将向左移动。

技巧

在初始化时,我在最后一张幻灯片之后复制了前两张幻灯片。当关注当前索引的 slideIndex 是幻灯片数量减 1 时,它将 slider 重置为零。所以你有一个无限 slider 。

问题

当您在第一张幻灯片上单击之前我还想应用效果时,问题就来了。它基本上应该做同样的事情,但不是将 slider 重置为零,而是重置到幻灯片的末尾。

var slider = $('.slider');
var slides = slider.find('.slides').children();
var slidesW = slides.width();

root.offset = -Math.abs((root.slideIndex * slides.eq(index).width()));
console.log(root.offset);

// Update active class
slides.removeClass('active');
// slides.eq(index).addClass('active');

// Add class active
TweenMax.to(slides.eq(index), 1, {
className: 'active',
onComplete: function() {

if (root.slideIndex >= (root.numOfSlides - 2)) {

slider.find('.slides').addClass('no-transition');

slides.removeClass('active');
slides.filter(':first').addClass('active');

root.offset = 0;

TweenMax.set(slider.find('.slides'), {
x: root.offset,
onComplete: function() {
root.slideIndex = 0;
$('#footer .paging #indicator').find('span').html('01');

return false;
}
});

}
}
});

// Remove no-transition class
slider.find('.slides').removeClass('no-transition');

// Change position of ul.slides
TweenMax.to(slider.find('.slides'), 0.4, {
x: root.offset
});

因为我有一个 if 语句 if (root.slideIndex === (root.numOfSlides - 2)) {slideIndex 等于 root.numOfSlides - 2。因此,无论您单击上一个还是下一个都没有关系,当 slideIndex 在我的幻灯片 4 的示例中时,它将重置为零。

我在代码笔中重新创建了 slider :https://codepen.io/anon/pen/zEmozr

最佳答案

改变这一行:

if (dir == "ss-prev") {
// root.slideIndex--;
root.slideIndex = (root.slideIndex - 1 < 0) ? root.numOfSlides - 1 : root.slideIndex - 1;
console.log('prev', root.slideIndex);
}

通过:

if (dir == "ss-prev") {
// root.slideIndex--;
root.slideIndex = (root.slideIndex - 1 < 0) ? root.numOfSlides - 3 : root.slideIndex - 1;
console.log('prev', root.slideIndex);
}

https://codepen.io/anon/pen/xXBMZJ?editors=1111

关于jquery - 无限 slider 上一个按钮逻辑不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46754167/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com