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实现文字打印动态效果
Apr 21 jQuery
jQuery插件FusionCharts绘制的2D条状图效果【附demo源码】
May 13 jQuery
JQuery EasyUI的一些常用组件
Jul 12 jQuery
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
Jul 22 jQuery
jQuery实现的表格前端排序功能示例
Sep 18 jQuery
解决html-jquery/js引用外部图片时遇到看不了或出现403的问题
Sep 22 jQuery
jQuery实现的页面遮罩层功能示例【测试可用】
Oct 14 jQuery
jQuery插件实现弹性运动完整示例
Jul 07 jQuery
Jquery实现无缝向上循环滚动列表的特效
Feb 13 jQuery
jQuery实现条件搜索查询、实时取值及升降序排序的方法分析
May 04 jQuery
基于jquery实现的tab选项卡功能示例【附源码下载】
Jun 10 jQuery
jquery中为什么能用$操作
Jun 18 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 ci框架中加载css和js文件失败的原因及解决方法
2014/07/29 PHP
分享3个php获取日历的函数
2015/09/25 PHP
thinkPHP线上自动加载异常与修复方法实例分析
2016/12/01 PHP
浅谈Coreseek、Sphinx-for-chinaese、Sphinx+Scws的区别
2016/12/15 PHP
YII2框架中excel表格导出的方法详解
2017/07/21 PHP
鼠标移动到一张图片时变为另一张图片
2006/12/05 Javascript
JavaScript在IE中“意外地调用了方法或属性访问”
2008/11/19 Javascript
js实现运动logo图片效果及运动元素对象sportBox使用方法
2012/12/25 Javascript
Jquery仿淘宝京东多条件筛选可自行结合ajax加载示例
2013/08/28 Javascript
JS delegate与live浅析
2013/12/21 Javascript
Angular设置title信息解决SEO方面存在问题
2016/08/19 Javascript
Angularjs实现mvvm式的选项卡示例代码
2016/09/08 Javascript
微信小程序 数组中的push与concat的区别
2017/01/05 Javascript
JavaScript运动框架 解决防抖动问题、悬浮对联(二)
2017/05/17 Javascript
浅谈Vue.use的使用
2018/08/29 Javascript
vue单文件组件lint error自动fix与styleLint报错自动fix详解
2019/01/08 Javascript
微信小程序实现的图片保存功能示例
2019/04/24 Javascript
[35:27]完美世界DOTA2联赛循环赛 GXR vs FTD BO2第二场 10.29
2020/10/29 DOTA
ubuntu安装sublime3并配置python3环境的方法
2018/03/15 Python
python 获取当天凌晨零点的时间戳方法
2018/05/22 Python
python使用xlrd和xlwt读写Excel文件的实例代码
2018/09/05 Python
Python连接Mssql基础教程之Python库pymssql
2018/09/16 Python
在python带权重的列表中随机取值的方法
2019/01/23 Python
使用Python正则表达式操作文本数据的方法
2019/05/14 Python
使用Python调取任意数字资产钱包余额功能
2019/08/15 Python
python读取配置文件方式(ini、yaml、xml)
2020/04/09 Python
Django框架配置mysql数据库实现过程
2020/04/22 Python
DataFrame.groupby()所见的各种用法详解
2020/06/14 Python
Linux安装Python3如何和系统自带的Python2并存
2020/07/23 Python
如何基于matlab相机标定导出xml文件
2020/11/02 Python
利用CSS3实现自定义滚动条代码分享
2016/08/18 HTML / CSS
Sport-Thieme荷兰:购买体育用品
2019/08/25 全球购物
门卫班长岗位职责
2013/12/15 职场文书
毕业生自荐书
2013/12/18 职场文书
活动总结模板
2014/05/09 职场文书
MySQL 中如何归档数据的实现方法
2022/03/16 SQL Server