一个速度极快、SEO友好、超级平滑的旋转木马,能够使用jQuery和CSS3转换在网络内容列表中淡出。
如今,每个人都在自己的网站上使用旋转木马。有许多花哨的旋转木马插件,您可以使用它们来实现相同的结果。如果您喜欢从头开始构建自己的旋转木马,以便能够根据需要控制和自定义所有内容,那么这个简短的教程可能会有所帮助。
1.为转盘创建一个HTML列表。
<ul id="myCarousel">
<li>
Item 1
</li>
<li>
Item 2
</li>
<li>
Item 3
</li>
...
</ul>
2.转盘的主要CSS样式。
ul {
position: absolute;
top: 50%;
width: 800px;
height: 200px;
left: 50%;
margin-left: -400px;
margin-top: -130px;
}
ul > li {
width: 25%;
list-style-type: none;
position: absolute;
top: 0;
padding: 20px;
height: 200px;
opacity: 0;
padding-top: 40px;
text-align: center;
transition: 1s opacity;
}
.active {
opacity: 1;
}
3.在文档末尾加载所需的jQuery JavaScript库。
<script src="/path/to/cdn/jquery.slim.min.js"></script>
4.将HTML列表转换为一个无限的自动转盘。
// override the transition speed here
var timer = 4000;
var i = 0;
var max = $('#myCarousel > li').length;
$("#myCarousel > li").eq(i).addClass('active').css('left','0');
$("#myCarousel > li").eq(i + 1).addClass('active').css('left','25%');
$("#myCarousel > li").eq(i + 2).addClass('active').css('left','50%');
$("#myCarousel > li").eq(i + 3).addClass('active').css('left','75%');
setInterval(function(){
$("#myCarousel > li").removeClass('active');
$("#myCarousel > li").eq(i).css('transition-delay','0.25s');
$("#myCarousel > li").eq(i + 1).css('transition-delay','0.5s');
$("#myCarousel > li").eq(i + 2).css('transition-delay','0.75s');
$("#myCarousel > li").eq(i + 3).css('transition-delay','1s');
if (i < max-4) {
i = i+4;
}
else {
i = 0;
}
$("#myCarousel > li").eq(i).css('left','0').addClass('active').css('transition-delay','1.25s');
$("#myCarousel > li").eq(i + 1).css('left','25%').addClass('active').css('transition-delay','1.5s');
$("#myCarousel > li").eq(i + 2).css('left','50%').addClass('active').css('transition-delay','1.75s');
$("#myCarousel > li").eq(i + 3).css('left','75%').addClass('active').css('transition-delay','2s');
}, timer);