使用jquery实现轮播图效果


Posted in jQuery onJanuary 02, 2021

今天给大家分享的是利用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);
 }
)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
HTML5+jQuery实现搜索智能匹配功能
Mar 24 jQuery
使用jQuery,Angular实现登录界面验证码详解
Apr 27 jQuery
jQuery制作input提示内容(兼容IE8以上)
Jul 05 jQuery
jQuery实现的简单前端搜索功能示例
Oct 28 jQuery
jQuery实现简单的下拉菜单导航功能示例
Dec 07 jQuery
jquery ajaxfileuplod 上传文件 essyui laoding 效果【防止重复上传文件】
May 26 jQuery
JQuery animate动画应用示例
May 14 jQuery
jQuery操作attr、prop、val()/text()/html()、class属性
May 23 jQuery
jQuery中DOM操作原则实例分析
Aug 01 jQuery
jQuery zTree插件使用简单教程
Aug 16 jQuery
jquery 遍历hash操作示例【基于ajax交互】
Oct 12 jQuery
jQuery实现数字华容道小游戏(实例代码)
Jan 16 jQuery
jQuery实现全选按钮
Jan 01 #jQuery
jquery自定义组件实例详解
Dec 31 #jQuery
JS+JQuery实现无缝连接轮播图
Dec 30 #jQuery
JS实现选项卡插件的两种写法(jQuery和class)
Dec 30 #jQuery
jQuery实现简单轮播图效果
Dec 27 #jQuery
原生jQuery实现只显示年份下拉框
Dec 24 #jQuery
jquery实现鼠标悬浮弹出气泡提示框
Dec 23 #jQuery
You might like
PHP面向对象学习笔记之二 生成对象的设计模式
2012/10/06 PHP
PHP flock 文件锁详细介绍
2012/12/29 PHP
yii框架redis结合php实现秒杀效果(实例代码)
2017/10/26 PHP
jQuery初学:find()方法及children方法的区别分析
2011/01/31 Javascript
JS获取并操作iframe中元素的方法
2013/03/21 Javascript
js使用eval解析json实例与注意事项分享
2014/01/18 Javascript
js实现浏览本地文件并显示扩展名的方法
2015/08/17 Javascript
JavaScript表单验证实例之验证表单项是否为空
2016/01/10 Javascript
详解JavaScript中的属性和特性
2016/12/08 Javascript
微信小程序自定义导航隐藏和显示功能
2017/06/13 Javascript
jQuery、layer实现弹出层的打开、关闭功能
2017/06/28 jQuery
浅析Node.js非对称加密方法
2018/01/29 Javascript
详解如何创建并发布一个 vue 组件
2018/11/08 Javascript
vue项目中锚点定位替代方式
2019/11/13 Javascript
Vuex模块化应用实践示例
2020/02/03 Javascript
简单了解前端渐进式框架VUE
2020/07/20 Javascript
[01:06:12]VP vs NIP 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
python字符串加密解密的三种方法分享(base64 win32com)
2014/01/19 Python
使用Python写CUDA程序的方法
2017/03/27 Python
Django项目开发中cookies和session的常用操作分析
2018/07/03 Python
详解pyenv下使用python matplotlib模块的问题解决
2018/11/29 Python
Python API 自动化实战详解(纯代码)
2019/06/11 Python
Python selenium 自动化脚本打包成一个exe文件(推荐)
2020/01/14 Python
Python request post上传文件常见要点
2020/11/20 Python
python 获取谷歌浏览器保存的密码
2021/01/06 Python
汽车检测与维修应届毕业生求职信
2013/10/19 职场文书
应届生煤化工求职信
2013/10/21 职场文书
美德少年事迹材料
2014/01/23 职场文书
《母鸡》教学反思
2014/02/25 职场文书
《白鹅》教学反思
2014/04/13 职场文书
教师爱岗敬业演讲稿
2014/05/05 职场文书
电气工程及其自动化专业求职信
2014/06/23 职场文书
成都人事代理协议书
2014/10/25 职场文书
艺术节开幕词
2015/01/28 职场文书
六五普法心得体会2016
2016/01/21 职场文书
java设计模式--三种工厂模式详解
2021/07/21 Java/Android