使用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 submit()不能提交表单的解决方法
Apr 24 jQuery
jquery实现左右轮播切换效果
Jan 01 jQuery
jQuery中$原理实例分析
Aug 13 jQuery
jQuery实现轮播图及其原理详解
Apr 12 jQuery
菊花转动的jquery加载动画效果
Aug 19 jQuery
jQuery实现获取及设置CSS样式操作详解
Sep 05 jQuery
jQuery实现的简单歌词滚动功能示例
Jan 07 jQuery
JQuery事件委托原理与用法实例分析
May 13 jQuery
Jquery 动态添加元素并添加点击事件实现过程解析
Oct 12 jQuery
jquery获取input输入框中的值
Nov 13 jQuery
jquery将信息遍历到界面上实例代码
Jan 21 jQuery
jquery实现图片放大镜效果
Dec 23 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
对squid中refresh_pattern的一些理解和建议
2009/04/17 PHP
php简单实现数组分页的方法
2016/04/30 PHP
CI框架整合widget(页面格局)的方法
2016/05/17 PHP
Laravel框架生命周期与原理分析
2018/06/12 PHP
使用PHP反射机制来构造&quot;CREATE TABLE&quot;的sql语句
2019/03/21 PHP
PHP回调函数简单用法示例
2019/05/08 PHP
jQuery操作Select的Option上下移动及移除添加等等
2013/11/18 Javascript
JQuery结合CSS操作打印样式的方法
2013/12/24 Javascript
vue.js实现请求数据的方法示例
2017/02/07 Javascript
微信小程序实现带刻度尺滑块功能
2017/03/29 Javascript
使用Dropzone.js上传的示例代码
2017/10/10 Javascript
vue-router重定向不刷新问题的解决
2018/06/25 Javascript
浅析JavaScript异步代码优化
2019/03/18 Javascript
layui关闭层级、简单监听的实例
2019/09/06 Javascript
Vue快速实现通用表单验证的示例代码
2020/01/09 Javascript
vue 路由懒加载中给 Webpack Chunks 命名的方法
2020/04/24 Javascript
解决vue路由name同名,路由重复的问题
2020/08/05 Javascript
Vue+element+cookie记住密码功能的简单实现方法
2020/09/20 Javascript
[46:32]Fnatic vs OG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[03:24][TI9纪实] Dota奶爸
2019/08/22 DOTA
Python的Scrapy爬虫框架简单学习笔记
2016/01/20 Python
详解用python写一个抽奖程序
2019/05/10 Python
python getpass实现密文实例详解
2019/09/24 Python
pytorch 实现打印模型的参数值
2019/12/30 Python
详解python安装matplotlib库三种失败情况
2020/07/28 Python
Html5新标签解释及用法
2012/02/17 HTML / CSS
HTML5验证以及日期显示的实现详解
2013/07/05 HTML / CSS
橄榄树药房:OLIVEDA
2019/09/01 全球购物
汽车检测与维修个人求职信
2013/09/24 职场文书
测试工程师程序员求职信范文
2014/02/20 职场文书
入党自荐书范文
2014/03/09 职场文书
搬迁通知
2015/04/20 职场文书
师德师风心得体会(2016精选篇)
2016/01/12 职场文书
技术入股协议书
2016/03/22 职场文书
创业计划书之餐饮
2019/09/02 职场文书
React四级菜单的实现
2022/04/08 Javascript