jQuery实现轮播图

淩亂°似流年 2021-12-14 09:45 576阅读 0赞

先展示一下轮播图的终结版截图
在这里插入图片描述
轮播图需要实现的功能就不再细讲了,直接看代码吧,仔细看,不要感觉轮播图好难,代码好多就懒得看了,其实很简单。

html代码

  1. <div class="pic">
  2. <img src="img/微信截图_20190705084205.png"/>
  3. <img src="img/微信截图_20190705084220.png"/>
  4. <img src="img/微信截图_20190705100148.png"/>
  5. <img src="img/微信截图_20190705100208.png"/>
  6. <div id="left">
  7. <
  8. </div>
  9. <div id="right">
  10. >
  11. </div>
  12. <ul id="ulObj">
  13. <li></li>
  14. <li></li>
  15. <li></li>
  16. <li></li>
  17. </ul>
  18. </div>

css样式代码

  1. <style type="text/css">
  2. .pic{
  3. width: 900px;
  4. height: 370px;
  5. margin:20px auto;
  6. position: relative;
  7. }
  8. nav{
  9. width: 900px;
  10. height: 1500px;
  11. margin:0 auto;
  12. border: 1px solid red;
  13. }
  14. .pic img{
  15. width: 900px;
  16. height: 370px;
  17. position: absolute;
  18. }
  19. #left{
  20. width: 55px;
  21. height: 75px;
  22. border: 1px solid black;
  23. font-size: 50px;
  24. padding-left: 10px;
  25. background-color: rgba(0,0,0,0.5);
  26. color: red;
  27. font-weight: bold;
  28. position: absolute;
  29. top: 140px;
  30. cursor: pointer;
  31. }
  32. #right{
  33. width: 55px;
  34. height: 75px;
  35. border: 1px solid black;
  36. font-size: 50px;
  37. padding-left: 10px;
  38. background-color: rgba(0,0,0,0.5);
  39. color: red;
  40. font-weight: bold;
  41. position: absolute;
  42. top: 140px;
  43. right: 0;
  44. cursor: pointer;
  45. }
  46. #ulObj{
  47. width: 150px;
  48. height: 17px;
  49. position: absolute;
  50. bottom: 0px;
  51. list-style: none;
  52. left: 350px;
  53. }
  54. #ulObj li{
  55. float: left;
  56. margin-left: 10px;
  57. width: 15px;
  58. height: 15px;
  59. background-color: lightskyblue;
  60. border-radius: 45px;
  61. }
  62. #ulObj li:hover{
  63. background-color: white;
  64. cursor: pointer;
  65. }
  66. </style>

最后就是jquery了

  1. <script type="text/javascript">
  2. $(function(){
  3. //刚开始设置一个index,index为图片的索引值
  4. var index=0;
  5. //当图片索引为0时,显示对应的图片,其他的隐藏
  6. $(".pic img").hide();
  7. $(".pic img").eq(index).show();
  8. //图片对应的下面的小圆圈设置背景颜色
  9. $("#ulObj li").eq(index).css("background-color","white");
  10. //设置一个定时器
  11. timer=setInterval(function(){
  12. var imgObj=$(".pic img");
  13. //index的值加1,如果index值大于3就等于0
  14. index++;
  15. if(index>3){
  16. index=0;
  17. }
  18. //设置对应之外的小圆圈背景颜色
  19. $("#ulObj li").css("background-color","lightskyblue");
  20. //设置对应索引的小圆圈背景颜色
  21. $("#ulObj li").eq(index).css("background-color","white");
  22. imgObj.fadeOut(1000);
  23. imgObj.eq(index).fadeIn(1000);
  24. },3000);
  25. //鼠标悬停清除定时器
  26. $(".pic img").mouseenter(function(){
  27. clearInterval(timer);
  28. });
  29. //鼠标移走重启定时器
  30. $(".pic img").mouseleave(function(){
  31. timer=setInterval(function(){
  32. var imgObj=$(".pic img");
  33. index++;
  34. if(index>3){
  35. index=0;
  36. }
  37. imgObj.fadeOut(1000);
  38. imgObj.eq(index).fadeIn(1000);
  39. $("#ulObj li").css("background-color","lightskyblue");
  40. $("#ulObj li").eq(index).css("background-color","white");
  41. },3000);
  42. });
  43. //点击下一张
  44. $("#right").click(function(){
  45. index+=1;
  46. if(index>3){
  47. index=0;
  48. }
  49. $(".pic img").fadeOut(1000);
  50. $(".pic img").eq(index).fadeIn(1000);
  51. $("#ulObj li").css("background-color","lightskyblue");
  52. $("#ulObj li").eq(index).css("background-color","white");
  53. });
  54. //点击上一张
  55. $("#left").click(function(){
  56. index-=1;
  57. if(index<0){
  58. index=3;
  59. }
  60. $(".pic img").fadeOut(1000);
  61. $(".pic img").eq(index).fadeIn(1000);
  62. $("#ulObj li").css("background-color","lightskyblue");
  63. $("#ulObj li").eq(index).css("background-color","white");
  64. });
  65. //点击下面的小圆圈显示对应的图片
  66. $("#ulObj li").click(function(){
  67. //获得被点击的li元素的索引值
  68. index=$("#ulObj li").index(this);
  69. $("#ulObj li").css("background-color","lightskyblue");
  70. $("#ulObj li").eq(index).css("background-color","white");
  71. //alert(index);
  72. $(".pic img").fadeOut(1000);
  73. $(".pic img").eq(index).fadeIn(1000);
  74. });
  75. });
  76. </script>

大功告成!不懂就留言,在线讲解!

发表评论

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

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

相关阅读

    相关 使用jQuery实现

    轮播图切换大致分为以下几个步骤 1.点击向左向右的图标,平滑切换到上(下)页 2.进行无限切换,第一页的上一页为最后一页,最后一页的下一页为第一页 3.每隔三秒图片

    相关 jQuery实现

    我之前用css3实现轮播图过,不过那是一个简单的轮播图,只能来回切换图片。因为那时候我还没有学过javascript,没学过javascript的同学也可以去我主页看看。当然,

    相关 使用jQuery实现

    大家好,今天给大家带来的就是使用jQuery实现一个简单的轮播图,实现的原理就是: 1、在一个区域内,设置宽高,超出这部分区域就要实现一个隐藏 2、获取图片的大小 为3

    相关 jQuery实现(二)

    这里的轮播为轮播增添了一个效果,前一张图片整体碎成小块块然后上移消失,而下一张图片显示出 ![这里写图片描述][SouthEast] 原理为:事先创建一堆浮动的div(宽

    相关 利用JQuery实现

    上一篇文章写了利用初级JS实现无缝轮播图,但是实际写起来有点费劲,量有些大,如果改用jQuery写无缝轮播图的话,写起来比较便捷,而已逻辑比较清晰,简单,实现起来比较快捷,性能