一个速度极快、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);