jQuery实现轮播图效果demo


Posted in jQuery onJanuary 11, 2020

本文实例为大家分享了jQuery实现轮播图效果的具体代码,供大家参考,具体内容如下

效果展示:

jQuery实现轮播图效果demo

编程思路:

1. 首先是基础的布局,使用"子绝父相"等页面布局方法,将图片、左右按钮以及每张图片下方对应的标识小按钮安排的明明白白。
2. JS中在通过点击左右按钮来切换图片时,使用三个变量分别来表示当前显示的图片序号、点击上一张按钮时候显示的图片序号、点击下一张按钮时候显示的图片序号。
3. 在自动轮播的时候,通过使用定时器来改变当前显示的图片序号来控制轮播

具体代码:

HTML代码:

<div id="slideShow">
 <a href="#" class="slide_pic"><img src="../img/phone_photo/p1.jpg" alt="0"></a>
 <a href="#" class="slide_pic"><img src="../img/phone_photo/p2.jpg" alt="1"></a>
 <a href="#" class="slide_pic"><img src="../img/phone_photo/p3.jpg" alt="2"></a>
 <a href="#" class="slide_pic"><img src="../img/phone_photo/p4.jpg" alt="3"></a>
 <a href="#" class="slide_pic"><img src="../img/phone_photo/p5.jpg" alt="4"></a>
 <a href="#" class="slide_pic"><img src="../img/phone_photo/p6.jpg" alft="5"></a>

 <button class="prev_one"> < </button>
 <button class="next_one"> > </button>

 <ul id="mark_box">
  <li class="mark">1</li>
  <li class="mark">2</li>
  <li class="mark">3</li>
  <li class="mark">4</li>
  <li class="mark">5</li>
  <li class="mark">6</li>
 </ul>
</div>

CSS代码:

#slideShow{
 width: 330px;
 height: 245px;
 background-color: #999999;
 text-align: center;
 left: 50%;
 margin-left: -165px;
 position: relative;
}
#slideShow .slide_pic{
 position: absolute;
 left: 0;
 top: 0;
}
#slideShow .prev_one{
 position: absolute;
 left: 0;
 top: 45%;
}
#slideShow .next_one{
 position: absolute;
 right: 0;
 top: 45%;
}
#slideShow #mark_box{
 position: absolute;
 bottom: 0;
}

#mark_box .mark{
 width: 20px;
 height: 20px;
 border-radius: 20px;
 padding: 2px;
 text-align: center;
 line-height: 20px;
 background-color: red;
 float: left;
 list-style: none;
 margin: 10px 10px;
 cursor: pointer;
}
#mark_box .active_img{
 background-color: green;
}

Javascript代码:

$(function(){
 var prev_mark=0;    //点击上一张按钮时候的一个标志位
 var next_mark=0;    //点击下一张按钮时候的一个标志位
 var cur_pic=$('.slide_pic').length-1;   //当前图片的序号

 $('.prev_one').click(function(){
  prev_mark=cur_pic;   //获取当前图片的序号
  if(prev_mark === 0){
   prev_mark=$('.slide_pic').length-1;
  }
  else{
   prev_mark--;
  }
  cur_pic=prev_mark;
  $('.slide_pic').eq(cur_pic).fadeIn(500).siblings('.slide_pic').fadeOut(500);
  $('.mark').eq(cur_pic).addClass('active_img').siblings('.mark').removeClass('active_img');
 });

 $('.next_one').click(function(){
  next_mark=cur_pic;
  if(next_mark === $('.slide_pic').length-1){
   next_mark=0;
  }
  else{
   next_mark++;
  }
  cur_pic=next_mark;
  $('.slide_pic').eq(cur_pic).fadeIn(500).siblings('.slide_pic').fadeOut(500);
  $('.mark').eq(cur_pic).addClass('active_img').siblings('.mark').removeClass('active_img');
 });

 // 轮播图下面的指示点
 $.each($('.mark'),function(index,value){
  $(value).click(function(){
   cur_pic=this.innerHTML-1;
   $('.slide_pic').eq(cur_pic).fadeIn(500).siblings('.slide_pic').fadeOut(500);
   $(this).addClass('active_img').siblings('.mark').removeClass('active_img');
  });
 });

 // 鼠标移入图片则停止轮播;鼠标移出图片则开始轮播
 var slide_timer=setInterval(auto_slide,2000);
 $('#slideShow').mouseenter(function(){
  clearInterval(slide_timer);
 });
 $('#slideShow').mouseleave(function(){
  slide_timer=setInterval(auto_slide,2000);
 });

 // 自动轮播函数
 function auto_slide(){
  if(cur_pic === $('.slide_pic').length-1){
   cur_pic =0;
  }
  else {
   cur_pic++;
  }
  $('.slide_pic').eq(cur_pic).fadeIn(500).siblings('.slide_pic').fadeOut(500);
  $('.mark').eq(cur_pic).addClass('active_img').siblings('.mark').removeClass('active_img');
 }
});

更多关于轮播图效果的专题,请点击下方链接查看学习

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

jQuery 相关文章推荐
jQuery中clone()函数实现表单中增加和减少输入项
May 13 jQuery
jquery+ajax实现省市区三级联动 (封装和不封装两种方式)
May 15 jQuery
jQuery正则验证注册页面经典实例
Jun 10 jQuery
jQuery实现点击关注和取消功能
Jul 03 jQuery
JQuery用$.ajax或$.getJSON跨域获取JSON数据的实现代码
Sep 23 jQuery
jQuery EasyUI开发技巧总结
Sep 26 jQuery
jQuery除指定区域外点击任何地方隐藏DIV功能
Nov 13 jQuery
jquery实现回车键触发事件(实例讲解)
Nov 21 jQuery
jQuery EasyUI 折叠面板accordion的使用实例(分享)
Dec 25 jQuery
jQuery实现滑动星星评分效果(每日分享)
Nov 13 jQuery
jquery实现拖拽添加元素功能
Dec 01 jQuery
jQuery实现广告显示和隐藏动画
Jul 04 jQuery
jQuery擦除插件eraser使用方法详解
Jan 11 #jQuery
jQuery实现鼠标移入显示蒙版效果
Jan 11 #jQuery
jQuery实现手风琴效果(蒙版)
Jan 11 #jQuery
jquery实现图片无缝滚动 蒙版遮蔽效果
Jan 11 #jQuery
jQuery操作动画完整实例分析
Jan 10 #jQuery
jQuery操作事件完整实例分析
Jan 10 #jQuery
jQuery操作元素追加内容示例
Jan 10 #jQuery
You might like
推荐几部必看的DC动画电影
2020/03/03 欧美动漫
PHP字符转义相关函数小结(php下的转义字符串)
2007/04/12 PHP
PHP 获取客户端真实IP地址多种方法小结
2010/05/15 PHP
java微信开发之上传下载多媒体文件
2016/06/24 PHP
JQuery UI DatePicker中z-index默认为1的解决办法
2010/09/28 Javascript
JavaScript自定义方法实现trim()、Ltrim()、Rtrim()的功能
2013/11/03 Javascript
Javascript中call的两种用法实例
2013/12/13 Javascript
Asp.Net alert弹出提示信息的几种方法总结
2014/01/29 Javascript
jQuery异步加载数据并添加事件示例
2014/08/24 Javascript
jQuery实现锚点scoll效果实例分析
2015/03/10 Javascript
3个可以改善用户体验的AngularJS指令介绍
2015/06/18 Javascript
Angular的Bootstrap(引导)和Compiler(编译)机制
2016/06/20 Javascript
AngularJS基础 ng-non-bindable 指令详细介绍
2016/08/02 Javascript
JavaScript使用简单正则表达式的数据验证功能示例
2017/01/13 Javascript
Vue2.0实现将页面中表格数据导出excel的实例
2017/08/09 Javascript
js 数组详细操作方法及解析合集
2018/06/01 Javascript
Node.js事件的正确使用方法
2019/04/05 Javascript
基于vue实现滚动条滚动到指定位置对应位置数字进行tween特效
2019/04/18 Javascript
Vue路由对象属性 .meta $route.matched详解
2019/11/04 Javascript
vue深度监听(监听对象和数组的改变)与立即执行监听实例
2020/09/04 Javascript
react-native 实现购物车滑动删除效果的示例代码
2021/01/15 Javascript
在Python中操作字符串之startswith()方法的使用
2015/05/20 Python
对Python3中的input函数详解
2018/04/22 Python
Python机器学习算法库scikit-learn学习之决策树实现方法详解
2019/07/04 Python
Django处理Ajax发送的Get请求代码详解
2019/07/29 Python
python实现的config文件读写功能示例
2019/09/24 Python
python微信公众号开发简单流程实现
2020/03/09 Python
python 使用递归的方式实现语义图片分割功能
2020/07/16 Python
css3 transform过渡抖动问题解决
2020/10/23 HTML / CSS
德国高性价比网上药店:medpex
2017/07/09 全球购物
贝玲妃英国官网:Benefit英国
2018/02/03 全球购物
优秀毕业自我鉴定
2014/02/15 职场文书
普通大学毕业生自荐信范文
2014/02/23 职场文书
绿色环保演讲稿
2014/05/10 职场文书
春晚观后感
2015/06/11 职场文书
java中如何截取字符串最后一位
2022/07/07 Java/Android