带渐变过渡 无限自动旋转木马

  • 源码大小:6.34KB
  • 所需积分:1积分
  • 源码编号:19JP-3492
  • 浏览次数:732次
  • 最后更新:2023年06月19日
  • 所属栏目:幻灯片
我要下载
加入收藏
本站默认解压密码:19jp.com 或 19jp_com

简介

一个速度极快、SEO友好、超级平滑的旋转木马,能够使用jQuery和CSS3转换在网络内容列表中淡出。

如今,每个人都在自己的网站上使用旋转木马。有许多花哨的旋转木马插件,您可以使用它们来实现相同的结果。如果您喜欢从头开始构建自己的旋转木马,以便能够根据需要控制和自定义所有内容,那么这个简短的教程可能会有所帮助。

如何使用它:

1.为转盘创建一个HTML列表。

  1. <ul id="myCarousel">
  2. <li>
  3. Item 1
  4. </li>
  5. <li>
  6. Item 2
  7. </li>
  8. <li>
  9. Item 3
  10. </li>
  11. ...
  12. </ul>

2.转盘的主要CSS样式。

  1. ul {
  2. position: absolute;
  3. top: 50%;
  4. width: 800px;
  5. height: 200px;
  6. left: 50%;
  7. margin-left: -400px;
  8. margin-top: -130px;
  9. }
  10.  
  11. ul > li {
  12. width: 25%;
  13. list-style-type: none;
  14. position: absolute;
  15. top: 0;
  16. padding: 20px;
  17. height: 200px;
  18. opacity: 0;
  19. padding-top: 40px;
  20. text-align: center;
  21. transition: 1s opacity;
  22. }
  23.  
  24. .active {
  25. opacity: 1;
  26. }

3.在文档末尾加载所需的jQuery JavaScript库。

  1. <script src="/path/to/cdn/jquery.slim.min.js"></script>

4.将HTML列表转换为一个无限的自动转盘。

  1. // override the transition speed here
  2. var timer = 4000;
  3.  
  4. var i = 0;
  5. var max = $('#myCarousel > li').length;
  6.  
  7. $("#myCarousel > li").eq(i).addClass('active').css('left','0');
  8. $("#myCarousel > li").eq(i + 1).addClass('active').css('left','25%');
  9. $("#myCarousel > li").eq(i + 2).addClass('active').css('left','50%');
  10. $("#myCarousel > li").eq(i + 3).addClass('active').css('left','75%');
  11.  
  12.  
  13. setInterval(function(){
  14.  
  15. $("#myCarousel > li").removeClass('active');
  16.  
  17. $("#myCarousel > li").eq(i).css('transition-delay','0.25s');
  18. $("#myCarousel > li").eq(i + 1).css('transition-delay','0.5s');
  19. $("#myCarousel > li").eq(i + 2).css('transition-delay','0.75s');
  20. $("#myCarousel > li").eq(i + 3).css('transition-delay','1s');
  21.  
  22. if (i < max-4) {
  23. i = i+4;
  24. }
  25.  
  26. else {
  27. i = 0;
  28. }
  29.  
  30. $("#myCarousel > li").eq(i).css('left','0').addClass('active').css('transition-delay','1.25s');
  31. $("#myCarousel > li").eq(i + 1).css('left','25%').addClass('active').css('transition-delay','1.5s');
  32. $("#myCarousel > li").eq(i + 2).css('left','50%').addClass('active').css('transition-delay','1.75s');
  33. $("#myCarousel > li").eq(i + 3).css('left','75%').addClass('active').css('transition-delay','2s');
  34.  
  35. }, timer);

预览截图