gpt4 book ai didi

javascript - 如何让 slider 在到达最后一张幻灯片后返回到第一张幻灯片,反之亦然

转载 作者:太空宇宙 更新时间:2023-11-04 09:01:20 25 4
gpt4 key购买 nike

我目前正在尝试自学 javascript,现在我正在构建一个 slider 。到目前为止,我已经设法弄清楚如何让 slider 左右滑动。到目前为止,我的问题是如何让 slider 在到达最后一张幻灯片后返回到第一张幻灯片,反之亦然。

这是我一直在研究的代码。

$(document).ready(function() {

var totalSlides = $('.slides li').length,
slidesWidth = $('.slides li').width(),
slideContainer = $('.slides');
slideCount = 0;
slideItems = $('.slides li');

slideContainer.width(slidesWidth * totalSlides);

$('.buttons .next').on('click', function() {
nextSlide();
});

$('.buttons .prev').on('click', function() {
prevSlide();
});

function nextSlide() {
slideCount++;
if (slideCount <= totalSlides) {
slideCount++;
console.log(slideCount);
slideItems.animate({
left: '-=' + slidesWidth
}, 200);
} else if (slideCount === totalSlides) {
slideCount = 0;
slideItems.animate({
left: '+=' + slideContainer
}, 200);
}
}

function prevSlide() {
if (totalSlides >= slideCount) {
slideCount--;
console.log(slideCount);
slideItems.animate({
left: '+=' + slidesWidth
}, 200);
}
}


// function resetSlides() {
// if ( slideCount === totalSlides ) {
// slideCount = 0;
// slideItems.animate({
// left: '+=' + slideContainer
// }, 200);
// }
// }
})
.wrapper {
max-width: 1440px;
margin: 0 auto;
}

.timeline-container {
max-width: 1440px;
margin: 0 auto;
position: relative;
overflow: hidden;
height: 300px;
.slides {
position: absolute;
background-color: #ccc;
width: 1440px;
max-height: 300px;
top: 0;
left: 0;
li {
float: left;
max-width: 1440px;
width: 100%;
height: 300px;
position: relative;
}
}
.buttons {
position: absolute;
top: 50%;
left: 0;
z-index: 10;
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="wrapper">
<div class="timeline-container">
<ul class="slides">
<li>
<div class="image">
</div>
<div class="content">
1965
</div>
</li>
<li>
<div class="image">
</div>
<div class="content">
1968
</div>
</li>
<li>
<div class="image">
</div>

<div class="content">
1969
</div>
</li>
</ul>
<ul class="buttons">
<li class="prev">&lt;</li>
<li class="next">&gt;</li>
</ul>
</div>
</div>

最佳答案

试试这段代码

function gotoSlide(position){
if(position === 'first'){

console.log(slideCount);
slideItems.animate({
left: '+=' + 0
}, 200);
slideCount=0;
}
else{
console.log(slideCount);
slideItems.animate({
left: '+=' + slidesWidth*(totalSlides-1)
}, 200);
slideCount=totalSlides;
}
}

并在点击按钮时调用 gotoSlide(yourPosition)。

关于javascript - 如何让 slider 在到达最后一张幻灯片后返回到第一张幻灯片,反之亦然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42746914/

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