使用jquery实现轮播图效果
编程学习 2021-07-04 14:07www.dzhlxh.cn编程入门
这篇文章主要为大家详细介绍了使用jquery实现轮播图效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
今天给大家分享的是利用jquery实现轮播图的效果,废话不多说咯,直接上代码,当然每行代码会有注释了,这样也便于理解哦。
第一步:先引进jquery文件
<script src="./jquery.js"></script>
第二步:html样式
<div id="banner"> <!-- 图片 --> <ul id="banner_img"> <li> <img src="./img/1.jpg" alt=""> </li> <li> <img src="./img/2.jpg" alt=""> </li> <li> <img src="./img/3.jpg" alt=""> </li> <li> <img src="./img/4.jpg" alt=""> </li> </ul> <!-- 圆点 --> <ul id="banner_yuandian"> <li class="active">1</li> <li>2</li> <li>3</li> <li>4</li> </ul> <!-- < >箭头指向 --> <button id="banner_back"><</button> <button id="banner_next">></button> </div>
第三步:css样式
<style> *{ margin: 0; padding: 0; list-style: none; } #banner{ position: relative; } /*图片样式 */ #banner #banner_img{ width: 300px; height: 300px; border: 2px red solid; } #banner #banner_img img{ width: 300px; height: 300px; } #banner #banner_img>li{ display: none; } #banner #banner_img :first-child{ display:block; } /* 圆点样式 */ #banner_yuandian{ position: absolute; bottom: 10px; display: flex; margin-left: 35px; } #banner_yuandian li{ margin-left: 30px; width: 20px; height: 20px; border: 1px red solid; border-radius: 50%; text-align: center; } #banner_yuandian li:hover{ background: orange; } #banner_yuandian .active{ background: orange; } /* 箭头样式 */ #banner_back{ width: 30px; height: 30px; position: absolute; margin-top: -150px; } #banner_next{ width: 30px; height: 30px; position: absolute; margin-top: -150px; margin-left: 273px; } </style>
第四步:js样式
<script> //设置图片,圆点,箭头共同的下标 从0开始 var index=0; //封装轮播的函数 第一步 function show(){ //下标每次+1增加 index+=1; //如果下标大于等于图片的长度数,返回第一张图,即是下标index=0就行 if(index>=$("#banner_img>li").length){ index=0; } //让li的每张图片点击时显示自己,其他兄弟隐藏 $("#banner_img>li").eq(index).show(1000).siblings().hide(1000); //圆点的下标也需要封装一下样式 $("#banner_yuandian>li").eq(index).addClass("active").siblings().removeClass("active"); } //利用计时器达到轮播效果 第二步 var x=setInterval(show,2000); //鼠标移动到图片上时清除计时器,移出之后重新加入计时器 $("#banner_img>li").hover( function(){ clearInterval(x); }, function(){ x=setInterval(show,2000); } ) //圆点设置,点击圆点,切换相应图片 第三步 $("#banner_yuandian>li").on("click",function(){ //点击圆点时的下标取共同下标 var index=$(this).index();//出错的地方index()语法 //点击下标时展现对应的图片,其他兄弟图隐藏 $("#banner_img>li").eq(index).show(1000).siblings().hide(1000); //点击圆点,添加样式,其他删除 $("#banner_yuandian>li").eq(index).addClass("active").siblings().removeClass("active"); }) //鼠标滑动上去滑动出来要清除计时器和再次设置计时器 第四步 $("#banner_yuandian>li").hover( function(){ clearInterval(x); }, function(){ x=setInterval(show,2000); } ) //箭头设置 第五步 $("#banner_back").on("click",function(){ //点击一次减去1 index--; //当下标小于0时,就返回第一张图 if(index<0){ index=0; } //点击下标时展现对应的图片,其他兄弟图隐藏 $("#banner_img>li").eq(index).show(1000).siblings().hide(1000); //点击圆点,添加样式,其他删除 $("#banner_yuandian>li").eq(index).addClass("active").siblings().removeClass("active"); }) //下一张 可以直接调用 $("#banner_next").on("click",function(){ show(); }) //点击button按钮再次清除计时器和添加计时器 $("button").hover( function(){ clearInterval(x); }, function(){ x=setInterval(show,2000); } )
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持狼蚁SEO。
上一篇:基于JavaScript实现轮播图效果
下一篇:原生JS运动实现轮播图