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实现鼠标经过显示动画边框特效
Mar 24 jQuery
jQuery插件FusionCharts实现的Marimekko图效果示例【附demo源码】
Mar 24 jQuery
jquery dataTable 后台加载数据并分页实例代码
Jun 07 jQuery
jQuery、layer实现弹出层的打开、关闭功能
Jun 28 jQuery
jQuery常见面试题之DOM操作详析
Jul 05 jQuery
基于jQuery的$.getScript方法去加载javaScript文档解析
Nov 08 jQuery
将jquery.qqFace.js表情转换成微信的字符码
Dec 01 jQuery
通过jquery的ajax请求本地的json文件方法
Aug 08 jQuery
jQuery实现动态添加和删除input框代码实例
Mar 29 jQuery
jQuery操作元素的内容和样式完整实例分析
Jan 10 jQuery
jQuery-App输入框实现实时搜索
Nov 19 jQuery
jQuery实现穿梭框效果
Jan 19 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
PHP生成便于打印的网页
2006/10/09 PHP
基于php验证码函数的使用示例
2013/05/03 PHP
php中将一个对象保存到Session中的方法
2015/03/13 PHP
jQuery 连续列表实现代码
2009/12/21 Javascript
myEvent.js javascript跨浏览器事件框架
2011/10/24 Javascript
JS实现标签页效果(配合css)
2013/04/03 Javascript
JavaScript极简入门教程(二):对象和函数
2014/10/25 Javascript
jquery用ajax方式从后台获取json数据后如何将内容填充到下拉列表
2015/08/26 Javascript
JS实现的另类手风琴效果网页内容切换代码
2015/09/08 Javascript
JS实现仿新浪黄色经典滑动门效果代码
2015/09/27 Javascript
基于jQuery实现仿搜狐辩论投票动画代码(附源码下载)
2016/02/18 Javascript
JS递归遍历对象获得Value值方法技巧
2016/06/14 Javascript
Bootstrap笔记之缩略图、警告框实例详解
2017/03/09 Javascript
深入探究node之Transform
2017/07/20 Javascript
vue-cli项目代理proxyTable配置exclude的方法
2018/09/20 Javascript
详解小程序中h5页面onShow实现及跨页面通信方案
2019/05/30 Javascript
微信小程序实现消息框弹出动画
2020/04/18 Javascript
微信小程序 扭蛋抽奖机css3动画实现详解
2019/07/19 Javascript
详解Vue中组件传值的多重实现方式
2019/08/16 Javascript
[07:12]2014DOTA2西雅图国际邀请赛 黑马Liquid专题采访
2014/07/12 DOTA
Python中max函数用于二维列表的实例
2018/04/03 Python
PyCharm设置SSH远程调试的方法
2018/07/17 Python
浅谈Python采集网页时正则表达式匹配换行符的问题
2018/12/20 Python
python简单贪吃蛇开发
2019/01/28 Python
python动态进度条的实现代码
2019/07/03 Python
python模拟预测一下新型冠状病毒肺炎的数据
2020/02/01 Python
ECOSUSI官网:女式皮革背包
2019/09/27 全球购物
将时尚融入珠宝:Adornmonde
2019/10/17 全球购物
yy婚礼主持词
2014/03/14 职场文书
会计核算科岗位职责
2014/03/19 职场文书
2014年小学生迎国庆65周年演讲稿
2014/09/27 职场文书
工伤死亡理赔协议书
2014/10/20 职场文书
党员教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
走近毛泽东观后感
2015/06/04 职场文书
单位综合评价意见
2015/06/05 职场文书
慰问信(范文3篇)
2019/10/23 职场文书