使用jQuery怎么制作一个轮播图效果?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
1、导入jQuery文件
<script src="jquery-3.5.1.js"></script>
2、设置图片的样式
<style> *{ margin: 0; padding: 0; } #box{ width: 300px; height: 300px; border: 2px solid red; } #box img{ position: absolute; display: none; } #box :first-child{ display: block; } .page{ list-style: none; display: flex; width: 300px; justify-content: space-around; } .page li{ border: 1px solid red; border-radius: 50%; width: 20px; height: 20px; text-align: center; } .active{ background: red; } </style> <script src="./jquery.js"></script> </head> <body> <div id="box"> <img src="./img/1.jpg" alt=""> <img src="./img/2.jpg" alt=""> <img src="./img/3.jpg" alt=""> <img src="./img/4.jpg" alt=""> </div> <ul class="page" id="page" > <li class="active">1</li> <li>2</li> <li>3</li> <li>4</li> </ul> <button id="next">下一张</button> <button id="prev">上一张</button>
3 进行图片的轮播实现方式
/* 绝对定位 -- 摞起来 通过下标 -- 显示当前 --其他兄弟 隐藏 */ <script> var index=0; // 移动方法 function move(){ index++; if (index>=$("#box img").length) { index=0; } $("#box img").eq(index).show().siblings().hide(); $("#page li").eq(index).addClass("active").siblings().removeClass("active"); } //计时器的实现方法 var t=setInterval(move,2000); //鼠标移动到图片会停止离开继续轮播 $("#box").hover(function(){ clearInterval(t) },function(){ t=setInterval(move,2000) }) $("#page li").click(function(){ index= $(this).index() ; $("#box img").eq(index).show().siblings().hide(); $("#page li").eq(index).addClass("active").siblings().removeClass("active"); }) //下一张的点击 $("#next").click(function(){ move(); }) //上一张的点击 $("#prev").click(function(){ index--; // 判断如果下标超过固有图片的数量时,从头开始轮播 if (index<0) { index=$("#box img").length-1; } $("#box img").eq(index).show().siblings().hide(); $("#page li").eq(index).addClass("active").siblings().removeClass("active"); }) </script>
关于使用jQuery怎么制作一个轮播图效果问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。