使用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实现二级联动效果
Mar 30 jQuery
jQuery实现按比例缩放图片的方法
Apr 29 jQuery
jQuery实现动态删除LI的方法
May 30 jQuery
jQuery实现上传图片前预览效果功能
Aug 03 jQuery
jQuery实现手机号正则验证输入及自动填充空格功能
Jan 02 jQuery
jQuery 导航自动跟随滚动的实现代码
May 30 jQuery
jquery实现搜索框功能实例详解
Jul 23 jQuery
jQuery利用FormData上传文件实现批量上传
Dec 04 jQuery
JS/jQuery实现获取时间的方法及常用类完整示例
Mar 07 jQuery
高效jQuery选择器的5个技巧实例分析
Nov 26 jQuery
jQuery Datatables 动态列+跨列合并实现代码
Jan 30 jQuery
基于JQuery和DWR实现异步数据传递
Oct 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常用image图像函数集
2013/06/24 PHP
简单解析PHP程序的运行流程
2016/06/23 PHP
判断客户端浏览器是否安装了Flash插件的多种方法
2010/08/11 Javascript
jQuery操作Select的Option上下移动及移除添加等等
2013/11/18 Javascript
解决ueditor jquery javascript 取值问题
2014/12/30 Javascript
js仿土豆网带缩略图的焦点图片切换效果实现方法
2015/02/23 Javascript
js控制页面的全屏展示和退出全屏显示的方法
2015/03/10 Javascript
12306验证码破解思路分享
2015/03/25 Javascript
使用JQuery实现Ctrl+Enter提交表单的方法
2015/10/22 Javascript
jQuery实现TAB选项卡切换特效简单演示
2016/03/04 Javascript
响应式表格之固定表头的简单实现
2016/08/26 Javascript
H5移动端图片压缩上传开发流程
2016/11/09 Javascript
利用HTML5+Socket.io实现摇一摇控制PC端歌曲切换
2017/01/13 Javascript
javascript实现数据双向绑定的三种方式小结
2017/03/09 Javascript
Angular获取手机验证码实现移动端登录注册功能
2017/05/17 Javascript
浅谈react前后端同构渲染
2017/09/20 Javascript
js使用xml数据载体实现城市省份二级联动效果
2017/11/08 Javascript
基于wordpress的ajax写法详解
2018/01/02 Javascript
Vue CLI3 如何支持less的方法示例
2018/08/29 Javascript
Vue.js 图标选择组件实践详解
2018/12/03 Javascript
Vue ElementUI实现:限制输入框只能输入正整数的问题
2020/07/31 Javascript
Vue filter 过滤器、以及在table中的使用介绍
2020/09/07 Javascript
用Python展示动态规则法用以解决重叠子问题的示例
2015/04/02 Python
使用Python如何测试InnoDB与MyISAM的读写性能
2018/09/18 Python
python 顺时针打印矩阵的超简洁代码
2018/11/14 Python
python Opencv计算图像相似度过程解析
2019/12/03 Python
np.random.seed() 的使用详解
2020/01/14 Python
Python 数据分析之逐块读取文本的实现
2020/12/14 Python
pytorch 计算Parameter和FLOP的操作
2021/03/04 Python
经典c++面试题二
2015/08/14 面试题
商场消防管理制度
2014/01/12 职场文书
2014年社区宣传工作总结
2014/12/02 职场文书
2015自愿离婚协议书范本
2015/01/28 职场文书
如何制作自己的原生JavaScript路由
2021/05/05 Javascript
再次探讨go实现无限 buffer 的 channel方法
2021/06/13 Golang
安装harbor作为docker镜像仓库的问题
2022/06/14 Servers