具体问题是这样的,我想要一个能无限循环播放图片的轮播,重点是播放完一轮后,跳回第一张时,切换效果应该和之前一样。即如果动画是从左到右切换的,那么最后一张切换到第一张时,也应该是这个效果。
在网上找了很多 jQuery 的轮播插件,但都不能满足我所想要的效果。Bootstrap 的 Carousel 倒是能用,但源码看不懂。
HTML 代码大致如下:
<p class="carousel">
<p class="slide"></p>
<p class="slide"></p>
<p class="slide"></p>
<p class="slide"></p>
</p>
CSS 关键代码:
.carousel {
height: 120px;
overflow: hidden;
}
.slide {
height: 120px;
transition: all .4s ease-in;
}
jQuery关键代码:
$('.slide').each(function(){
$(this).css('transform', 'translateY(' + (i)*-100 + '%)');
})
我所写的这个,最后一张是transform: translateY(-300%);
,然后就变成了transform: translateY(0%);
,所以动画的方向变反了。
这样的写法似乎无法解决这个问题,是否有其他的轮播图写法?
实现无缝切换可以多加两张图,在第一张前面加上最后一张图,在最后一张图后面加上第一张图。刚好之前写过一个,JS原生,具体代码如下:
html
js
可以建个img文件夹,放几张图片试一下效果,这个是4张图片
搜一下PgwSlider插件,可以实现各种各样的图片轮播方式。本人前几天利用此插件完成了一个图片轮播,实现上方显示一张大图,下面陈列全部缩略图的功能。点击左右箭头实现轮播,点击缩略图也能实现大图切换。符合你所要求的点击最后一张图片后以相同方式回到第一张图片。源代码也比较容易读懂。如果需要源码,请回复。
http://flexslider.woothemes.com/
这种效果吗?
可以看看这个~
http://www.owlcarousel.owlgraphic.com/
试试这个 swiper.js
示例 http://www.swiper.com.cn/demo/15-infinite-loop.html
superslide 完美兼容pc
swiper 完美手机端
满足题主一切需求