jQuery实现简单轮播图效果
阡禧 人气:0这篇文章主要为大家详细介绍了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>
加载全部内容