jQuery实现轮播图源码


Posted in jQuery onOctober 23, 2019

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

设计:

jQuery实现轮播图源码

根据上图可以看出,轮播图需要以下元素:外面的盒子div、放置图片集合的盒子ul、放置两侧按钮的盒子div、下侧顺序按钮div

源代码如下:

一、html源码如下:

<div class="outer">
 
 <ul class="img">
 <li><a><img src="../static/img/1.jpg"></a></li>
 <li><a><img src="../static/img/2.jpg"></a></li>
 <li><a><img src="../static/img/3.jpg"></a></li>
 <li><a><img src="../static/img/4.jpg"></a></li>
 </ul>
 
 
 <ul class="num">
 <li class="current">1</li>
 <li>2</li>
 <li>3</li>
 <li>4</li>
 </ul>
 
 <div class="left_btn btn"><</div>
 <div class="right_btn btn">></div>
</div>

二、css样式实现:

<style>
 /*去掉默认浏览器样式*/
 *{
 margin: 0;
 padding: 0;
 }
 /*去掉li标签默认样式*/
 li{
 list-style: none;
 }
 /*最外层盒子样式处理:
 1.设置与轮播图高宽一致
 2.设置纵向距顶部50px,水平居中
 3.设置自己为固定位置
 */
 .outer{
 height: 470px;
 width: 590px;
 margin: 50px auto;
 position:relative;
 }
 /*轮播图片集合处理:
 1.将其设置为脱离文档流
 2.设置距顶部和左侧都为0
 */
 .img li{
 position: absolute;
 top: 0;
 left: 0;
 }
 /*顺序按钮区域处理:
 1.设置脱离文档流
 2.通过设置text-align、width使其整体水平居中
 3.设置距离底部20px
 */
 .num{
 position: absolute;
 text-align: center;
 width: 100%;
 bottom: 20px;
 }
 /*顺序按钮处理:
 1.将其设置为行级及块级兼容显示
 2.设置其宽高
 3.设置背景色及字体颜色
 4.设置字体水平居中
 5.通过设置line-height与height一致,使其字体纵向居中
 6.设置其样式为圆形
 7.增加按钮左右间距
 */
 .num li{
 display: inline-block;
 width: 20px;
 height: 20px;
 background-color: darkgray;
 color: white;
 text-align: center;
 line-height: 20px;
 border-radius: 50%;
 margin: 0 20px;
 }
 /*左、右按钮相同部分处理:
 1.设置其脱离文档流
 2.设置其宽高
 3.设置背景色及字体颜色
 4.设置字体水平居中
 5.通过设置line-height与height一致,使其字体纵向居中
 6.通过设置top、margin-top使其整体纵向居中
 7.默认不显示
 */
 .btn{
 position: absolute;
 width: 20px;
 height: 50px;
 background-color: darkgray;
 color: white;
 text-align: center;
 line-height: 50px;
 top: 50%;
 margin-top: -25px;
 display: none;
 }
 /*左侧按钮处理:
 设置左侧为0
 */
 .left_btn{
 left: 0;
 }
 /*右侧按钮处理:
 设置右侧为0
 */
 .right_btn{
 right: 0;
 }
 /*鼠标悬浮至轮播图区域时左、右按钮处理:
 1.设置左右按钮显示样式为行级块级兼容
 2.设置鼠标放置在左右按钮时样式为小手
 */
 .outer:hover .btn{
 display: inline-block;
 cursor: pointer;
 }
 /*设置顺序按钮初始按钮样式:
 设置为红色(由于样式级别问题会导致设置无效,可通过两种方式解决:
 1.后面加上!important
 2.将css定位写详细,比如:.outer .num .current{……
 )
 */
 .current{
 background-color: red!important;
 }
 
</style>

三、JQuery实现:

<script src="../static/jquery-3.3.1.min.js"></script>
<script>
 /*定义位置:由于图片个数与下侧顺序按钮数量一致,可通过位置进行关联*/
 var index=0;
 /*当鼠标放到顺序按钮上时:
 1.将当前这个顺序按钮增加样式为红色背景
 2.移除周围其他同级元素红色背景样式
 3.获取当前顺序按钮的index
 4.通过index获取该位置图片
 5.一秒钟渐入该图片
 6.一秒钟渐出其他相邻图片
 7.防止移动过快导致的效果闪现,使用stop方法
 */
 $(".num li").mousemove(function () {
  $(this).addClass("current").siblings().removeClass("current");
  index=$(this).index();
  $(".img li").eq(index).stop().fadeIn(1000).siblings().stop().fadeOut(1000);
 });
 /*设置每一秒钟自动轮播:
 1.获取当前位置序号:自加操作;当超过图片最大序号时序号设置为0
 2.设置下侧顺序按钮及轮播图显示
 */
 var time=setInterval(move,1000);
 function move() {
 index++;
 if (index==4){
  index=0
 }
 $(".num li").eq(index).addClass("current").siblings().removeClass("current");
 $(".img li").eq(index).stop().fadeIn(1000).siblings().stop().fadeOut(1000);
 };
 /*当鼠标划入、划出轮播图区域时:
 1.划入时停止自动轮播
 2.划出时继续自动轮播
 */
 $(".outer").hover(function () {
 clearInterval(time);
 },
 function () {
 time=setInterval(move,1000);
 });
 /*点击右侧按钮时执行*/
 $(".right_btn").click(function () {
 move();
 });
 /*点击左侧按钮时执行*/
 function moveL() {
  index--;
 if (index==-1){
  index=3
 }
 $(".num li").eq(index).addClass("current").siblings().removeClass("current");
 $(".img li").eq(index).stop().fadeIn(1000).siblings().stop().fadeOut(1000);
 }
 $(".left_btn").click(function () {
 moveL();
 });
</script>

完整源码下载:jQuery轮播图源码

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

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

jQuery 相关文章推荐
jquery实现tab选项卡切换效果(悬停、下方横线动画位移)
May 05 jQuery
jQuery 控制文本框自动缩小字体填充
Jun 16 jQuery
简单谈谈require模块化jquery和angular的问题
Jun 23 jQuery
jQuery条件分页 代替离线查询(附代码)
Aug 17 jQuery
jQuery图片缩放插件smartZoom使用实例详解
Aug 25 jQuery
解决jquery appaend元素中id绑定事件失效的问题
Sep 12 jQuery
jquery如何实现点击空白处隐藏元素
Dec 05 jQuery
jQuery+koa2实现简单的Ajax请求的示例
Mar 06 jQuery
jQuery中each遍历的三种方法实例分析
Sep 07 jQuery
jQuery内容过滤选择器与子元素过滤选择器用法实例分析
Feb 20 jQuery
jQuery实现点击滚动到指定元素上的方法分析
Mar 19 jQuery
JQuery通过键盘控制键盘按下与松开触发事件
Aug 07 jQuery
jQuery实现图片随机切换、抽奖功能(实例代码)
Oct 23 #jQuery
jquery轻量级数字动画插件countUp.js使用详解
Oct 17 #jQuery
jQuery/JS监听input输入框值变化实例
Oct 17 #jQuery
JQuery实现ul中添加LI和删除指定的Li元素功能完整示例
Oct 16 #jQuery
Jquery 动态添加元素并添加点击事件实现过程解析
Oct 12 #jQuery
jquery 遍历hash操作示例【基于ajax交互】
Oct 12 #jQuery
jquery 时间戳转日期过程详解
Oct 12 #jQuery
You might like
PHP+MySQL 手工注入语句大全 推荐
2009/10/30 PHP
PHP中输出转义JavaScript代码的实现代码
2011/04/22 PHP
PHP使用PHPExcel删除Excel单元格指定列的方法
2016/07/06 PHP
PHP7扩展开发之基于函数方式使用lib库的方法详解
2018/01/15 PHP
为何说PHP引用是个坑,要慎用
2018/04/02 PHP
一页面多XMLHttpRequest对象
2007/01/22 Javascript
JavaScript 异步调用框架 (Part 2 - 用例设计)
2009/08/03 Javascript
基于jquery的实现简单的表格中增加或删除下一行
2010/08/01 Javascript
Colortip基于jquery的信息提示框插件在IE6下面的显示问题修正方法
2010/12/06 Javascript
jQuery+ajax中getJSON() 用法实例
2014/12/22 Javascript
angularjs 处理多个异步请求方法汇总
2015/01/06 Javascript
jQuery插件form-validation-engine正则表达式操作示例
2017/02/09 Javascript
JavaScript 实现 Tab 点击切换实例代码
2017/03/25 Javascript
vue中用H5实现文件上传的方法实例代码
2017/05/27 Javascript
Bootstrap Table使用整理(三)
2017/06/09 Javascript
webpack配置导致字体图标无法显示的解决方法
2018/03/06 Javascript
微信小程序wx.uploadfile 本地文件转base64的实现代码
2018/06/28 Javascript
vue实现同一个页面可以有多个router-view的方法
2018/09/20 Javascript
iView-admin 动态路由问题的解决方法
2018/10/03 Javascript
jQuery+Datatables实现表格批量删除功能【推荐】
2018/10/24 jQuery
jQuery实现适用于移动端的跑马灯抽奖特效示例
2019/01/18 jQuery
微信小程序导航栏跟随滑动效果的实现代码
2019/05/14 Javascript
Vue.js中provide/inject实现响应式数据更新的方法示例
2019/10/16 Javascript
小程序接入腾讯位置服务的详细流程
2020/03/03 Javascript
python利用插值法对折线进行平滑曲线处理
2018/12/25 Python
django使用admin站点上传图片的实例
2019/07/28 Python
Python3+Appium安装及Appium模拟微信登录方法详解
2021/02/16 Python
个人简历自荐信
2013/12/05 职场文书
化妆品促销方案
2014/02/24 职场文书
计算机毕业生自荐信范文
2014/03/23 职场文书
2014年党支部承诺书
2014/05/30 职场文书
六五普法宣传标语
2014/10/06 职场文书
报名委托书
2015/01/29 职场文书
高中信息技术教学反思
2016/02/16 职场文书
2016创先争优活动党员公开承诺书
2016/03/24 职场文书
springboot中一些比较常用的注解总结
2021/06/11 Java/Android