使用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 相关文章推荐
基于jQuery实现的单行公告活动轮播效果
Aug 23 jQuery
jQuery实现用户信息表格的添加和删除功能
Sep 12 jQuery
jQuery EasyUI Layout实现tabs标签的实例
Sep 26 jQuery
jQuery使用bind函数实现绑定多个事件的方法
Oct 11 jQuery
jQuery实现滚动到底部时自动加载更多的方法示例
Feb 18 jQuery
jquery radio 动态控制选中失效问题的解决方法
Feb 28 jQuery
webpack里使用jquery.mCustomScrollbar插件的方法
May 30 jQuery
jQuery实现动态添加和删除input框代码实例
Mar 29 jQuery
jQuery实现的点击显示隐藏下拉菜单功能完整示例
May 17 jQuery
jQuery实现的解析本地 XML 文档操作示例
Apr 30 jQuery
jQuery弹框插件使用方法详解
May 26 jQuery
jQuery实现简单飞机大战
Jul 05 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 output buffering缓存及程序缓存深入解析
2013/07/15 PHP
阿里云PHP SMS短信服务验证码发送方法
2017/07/11 PHP
浅谈PHP发送HTTP请求的几种方式
2017/07/25 PHP
PHP实现Snowflake生成分布式唯一ID的方法示例
2020/08/30 PHP
有关于JS构造函数的重载和工厂方法
2013/04/07 Javascript
js中的this关键字详解
2013/09/25 Javascript
JavaScript变量声明详解
2014/11/27 Javascript
javascript实现避免页面按钮重复提交
2015/01/08 Javascript
jQuery实现网站添加高亮突出显示效果的方法
2015/06/26 Javascript
jQuery实现可展开折叠的导航效果示例
2016/09/12 Javascript
JavaScript  event对象整理及详细介绍
2016/10/10 Javascript
使用 jQuery.ajax 上传带文件的表单遇到的问题
2016/10/31 Javascript
js实现网页同时进行多个倒计时功能
2019/02/25 Javascript
微信小程序实现可长按移动控件
2020/11/01 Javascript
python实现rest请求api示例
2014/04/22 Python
python通过正则查找微博@(at)用户的方法
2015/03/13 Python
Python 安装setuptools和pip工具操作方法(必看)
2017/05/22 Python
Python操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】
2017/07/11 Python
创建Django项目图文实例详解
2019/06/06 Python
对python中GUI,Label和Button的实例详解
2019/06/27 Python
python多线程实现代码(模拟银行服务操作流程)
2020/01/13 Python
PyTorch中Tensor的数据统计示例
2020/02/17 Python
Django实现whoosh搜索引擎使用jieba分词
2020/04/08 Python
没编程基础可以学python吗
2020/06/17 Python
Python函数递归调用实现原理实例解析
2020/08/11 Python
Python 实现二叉查找树的示例代码
2020/12/21 Python
荷兰音乐会和音乐剧门票订购网站:Topticketshop
2019/08/27 全球购物
客房主管岗位职责
2013/12/09 职场文书
个人素质的自我评价分享
2013/12/16 职场文书
高中生的自我评价
2014/03/04 职场文书
影视后期实训报告
2014/11/05 职场文书
2014普法依法治理工作总结
2014/12/18 职场文书
2016优秀青年志愿者事迹材料
2016/02/25 职场文书
OpenCV-Python实现轮廓拟合
2021/06/08 Python
Python 语言实现六大查找算法
2021/06/30 Python
Windows下用Nginx配置https服务器及反向代理的问题
2021/09/25 Servers