使用jquery实现轮播图效果
程序员文章站
2022-03-07 21:12:25
今天给大家分享的是利用jquery实现轮播图的效果,废话不多说咯,直接上代码,当然每行代码会有注释了,这样也便于理解哦~html样式css样式第一步,先引进jquery文件在这里插入代码片html样式
-
今天给大家分享的是利用jquery实现轮播图的效果,废话不多说咯,直接上代码,当然每行代码会有注释了,这样也便于理解哦~
第一步:先引进jquery文件
<script src="./jquery.js"></script>
第二步:html样式
第三步:css样式<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>
第四步:js样式<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>
<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); } )
本文地址:https://blog.csdn.net/weixin_53587096/article/details/111936865
相关标签: javascript上一篇: 乾隆执意南巡,是想游山玩水还是效仿康熙?