css与js实现轮播图效果

梦里梦外; 2021-07-26 20:12 519阅读 0赞

在这里插入图片描述
HTML代码:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. <script src="js/jquery-3.1.1.js"></script>
  7. <link rel="stylesheet" href="css/轮播样式.css">
  8. </head>
  9. <body>
  10. <div class="outer">
  11. <ul class="img">
  12. <li><a href=""><img src="img/1.jpg"></a> </li>
  13. <li><a href=""><img src="img/2.jpg"></a> </li>
  14. <li><a href=""><img src="img/3.jpg"></a> </li>
  15. <li><a href=""><img src="img/4.jpg"></a> </li>
  16. <li><a href=""><img src="img/5.jpg"></a> </li>
  17. <li><a href=""><img src="img/6.jpg"></a> </li>
  18. </ul>
  19. <ul class="num">
  20. <!--
  21. <li class="active"></li>
  22. <li></li>
  23. <li></li>
  24. <li></li>
  25. <li></li>
  26. <li></li>
  27. -->
  28. </ul>
  29. <div class="left btn"> < </div>
  30. <div class="right btn"> > </div>
  31. </div>
  32. <script>
  33. //通过jQuery 根据图片的数量创建下面的按钮
  34. //获取图片数量
  35. var img_num = $(".img li").length;
  36. var i=0;
  37. for (var j=0;j<img_num;j++){
  38. $(".num").append("<li></li>")
  39. }
  40. // 为第一个小点加成active $(".num li").eq(0).addClass('active') //手动轮播 $(" .num li").mouseover(function () {
  41. var i = $(this).index();
  42. //siblings 找到该元素的同胞元素
  43. // 小按钮变红
  44. $(this).addClass('active').siblings().removeClass("active");
  45. //显示图片 stop 去掉其他图片的的特效
  46. $(".img li").eq(i).stop().fadeIn(1000).siblings().stop().fadeOut()
  47. })
  48. //自动轮播
  49. //设置定时器 1.5秒
  50. var c=setInterval(GO_RUN,1500)
  51. var i=0; function GO_RUN() {
  52. if (i==img_num-1){
  53. i=-1
  54. }
  55. i++;
  56. $(".num li").eq(i).addClass('active').siblings().removeClass("active");
  57. //显示图片 stop 去掉其他图片的的特效
  58. $(".img li").eq(i).stop().fadeIn(1000).siblings().stop().fadeOut()
  59. }
  60. function GO_lift() {
  61. if (i==0){
  62. i=img_num-1
  63. }
  64. i--;
  65. $(".num li").eq(i).addClass('active').siblings().removeClass("active");
  66. //显示图片 stop 去掉其他图片的的特效
  67. $(".img li").eq(i).stop().fadeIn(1000).siblings().stop().fadeOut()
  68. }
  69. //鼠标停在上面,停止轮播,鼠标拿开,开始轮播 $(".outer").hover(function () {
  70. clearInterval(c)
  71. },function () {
  72. c=setInterval(GO_RUN,1500)
  73. })
  74. // button 加定播 ,对右边走
  75. $(".right").click(GO_RUN)
  76. // button 加定播 ,对左边走
  77. $(".left").click(GO_lift)
  78. </script>
  79. </body>
  80. </html>

引入了一个js文件和一个css文件
css:

  1. .outer{
  2. width: 790px;
  3. height: 340px;
  4. margin: 80px auto;
  5. position: relative;
  6. }
  7. .img li{
  8. position: absolute;
  9. list-style: none;
  10. top: 0;
  11. left: 0;
  12. }
  13. .num{
  14. position: absolute;
  15. bottom: 20px;
  16. left: 270px;
  17. list-style: none;
  18. }
  19. .num li{
  20. display: inline-block; /*行内块元素*/
  21. width: 15px;
  22. height: 15px;
  23. background-color: white;
  24. border-radius: 50%;
  25. text-align: center;
  26. line-height: 28px;
  27. margin-left: 4px;
  28. }
  29. .btn{
  30. position: absolute;
  31. top: 50%;
  32. background-color: lightgray;
  33. width: 30px;
  34. height: 60px;
  35. color: white;
  36. text-align: center;
  37. line-height: 60px;
  38. font-size: 30px;
  39. opacity: 0.7;
  40. margin-top:-30px;
  41. display: none;
  42. }
  43. .right{
  44. right: 0;
  45. }
  46. .outer:hover .btn{
  47. display: block;
  48. }
  49. /* 为第一个轮播图为红色点*/
  50. .num .active{
  51. background-color: red;
  52. }

还有一个jquery-3.1.1.js文件,经常会用到的,太多了所以放个链接

https://download.csdn.net/download/qq\_44699174/12440245
我设置成零积分下载了,可还是需要消耗积分,也可以去网上搜一下这个文件。

发表评论

表情:
评论列表 (有 0 条评论,519人围观)

还没有评论,来说两句吧...

相关阅读