使用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中关于bind()方法的使用技巧分享
Mar 30 jQuery
基于jQuery和CSS3实现APPLE TV海报视差效果
Jun 16 jQuery
JS和JQuery实现雪花飘落效果
Nov 30 jQuery
通过jquery获取上传文件名称、类型和大小的实现代码
Apr 19 jQuery
Jquery和CSS实现选择框重置按钮功能
Nov 08 jQuery
jQuery判断自定义属性data-val用法示例
Jan 07 jQuery
jquery.tagsinput.js实现记录checkbox勾选的顺序
Sep 21 jQuery
JQuery中DOM节点的操作与访问方法实例分析
Dec 23 jQuery
jQuery操作动画完整实例分析
Jan 10 jQuery
jQuery实现中奖播报功能(让文本滚动起来) 简单设置数值即可
Mar 20 jQuery
JQuery省市联动效果实现过程详解
May 08 jQuery
jQuery 选择方法及$(this)用法实例分析
May 19 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
计算2000年01月01日起到指定日的天数
2006/10/09 PHP
木翼下载系统中说明的PHP安全配置方法
2007/06/16 PHP
基于php冒泡排序算法的深入理解
2013/06/09 PHP
PHP引用(&amp;)各种使用方法实例详解
2014/03/20 PHP
php生成shtml类用法实例
2014/12/09 PHP
typecho插件编写教程(三):保存配置
2015/05/28 PHP
PHP读取PPT文件的方法
2015/12/10 PHP
服务端 VBScript 与 JScript 几个相同特性的写法 By shawl.qiu
2007/03/06 Javascript
jquery中常用的SET和GET
2009/01/13 Javascript
javascript来定义类的规范小结
2010/11/19 Javascript
javascript中验证大写字母、数字和中文
2014/01/15 Javascript
jquery 选取方法都有哪些
2014/05/18 Javascript
jquery代码规范让代码越来越好看
2017/02/03 Javascript
vue.js使用v-model指令实现的数据双向绑定功能示例
2018/05/22 Javascript
elementUI Vue 单个按钮显示和隐藏的变换功能(两种方法)
2018/09/04 Javascript
详解关于vue2.0工程发布上线操作步骤
2018/09/27 Javascript
vue多层嵌套路由实例分析
2019/03/19 Javascript
实现vuex与组件data之间的数据同步更新方式
2019/11/12 Javascript
js实现数字滚动特效
2019/12/16 Javascript
JS异步宏队列与微队列原理区别详解
2020/07/02 Javascript
vue 点击其他区域关闭自定义div操作
2020/07/17 Javascript
[02:08]2014DOTA2国际邀请赛 430专访:力争取得小组前二
2014/07/11 DOTA
[04:19]DOTA2亚洲邀请赛 现场花絮
2015/03/11 DOTA
Python多线程编程(一):threading模块综述
2015/04/05 Python
python3.6中@property装饰器的使用方法示例
2019/08/17 Python
Pyinstaller 打包发布经验总结
2020/06/02 Python
PyInstaller的安装和使用的详细步骤
2020/06/02 Python
Python爬虫爬取博客实现可视化过程解析
2020/06/29 Python
Python 发送邮件方法总结
2020/08/10 Python
HTML5在线预览PDF的示例代码
2017/09/14 HTML / CSS
Osklen官方在线商店:巴西服装品牌
2019/04/25 全球购物
优秀求职自荐信怎样写
2013/12/18 职场文书
群众路线教育实践活动自我剖析思想汇报
2014/10/04 职场文书
认识实习感想
2015/08/10 职场文书
2016廉政教育学习心得体会
2016/01/25 职场文书
Python+Selenium自动化环境搭建与操作基础详解
2022/03/13 Python