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 相关文章推荐
Django1.7+JQuery+Ajax验证用户注册集成小例子
Apr 08 jQuery
jQuery实现 RadioButton做必选校验功能
Jun 15 jQuery
jquery对table做排序操作的实例演示
Aug 10 jQuery
jQuery中 DOM节点操作方法大全
Oct 12 jQuery
jquery select插件异步实时搜索实例代码
Oct 20 jQuery
CSS3结合jQuery实现动画效果及回调函数的实例
Dec 27 jQuery
jQuery实现基本淡入淡出效果的方法详解
Sep 05 jQuery
详解JavaScript原生封装ajax请求和Jquery中的ajax请求
Feb 14 jQuery
jQuery表单元素过滤选择器用法实例分析
Feb 20 jQuery
jQuery Datatables 动态列+跨列合并实现代码
Jan 30 jQuery
9种方法优化jQuery代码详解
Feb 04 jQuery
原生jQuery实现只显示年份下拉框
Dec 24 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中替换换行符的几种方法小结
2012/10/15 PHP
PHP实现多级分类生成树的方法示例
2017/02/07 PHP
对于Laravel 5.5核心架构的深入理解
2018/02/22 PHP
PHP支付宝当面付2.0代码
2018/12/21 PHP
Javascript 日期对象Date扩展方法
2009/05/30 Javascript
JQuery获取各种宽度、高度(format函数)实例
2013/03/04 Javascript
节点的插入之append()和appendTo()的用法介绍
2014/01/13 Javascript
JavaScript数据结构和算法之图和图算法
2015/02/11 Javascript
JavaScript获得url所有参数键值表的方法
2015/03/21 Javascript
浅析Node.js中使用依赖注入的相关问题及解决方法
2015/06/24 Javascript
js+div实现文字滚动和图片切换效果代码
2015/08/27 Javascript
JS定义类的六种方式详解
2016/05/12 Javascript
JS阻止事件冒泡行为和闭包的方法
2016/06/16 Javascript
jQuery中绑定事件bind() on() live() one()的异同
2017/02/23 Javascript
js原生Ajax的封装和原理详解
2017/03/11 Javascript
详解Web使用webpack构建前端项目
2017/09/23 Javascript
详解webpack性能优化——DLL
2017/10/20 Javascript
layUI实现列表查询功能
2019/07/27 Javascript
Vue2.0 实现页面缓存和不缓存的方式
2019/11/12 Javascript
微信小程序自定义顶部组件customHeader的示例代码
2020/06/03 Javascript
[02:41]DOTA2英雄基础教程 谜团
2013/12/10 DOTA
[54:17]DOTA2-DPC中国联赛定级赛 RNG vs iG BO3第二场 1月10日
2021/03/11 DOTA
Python实现的石头剪子布代码分享
2014/08/22 Python
Python装饰器使用示例及实际应用例子
2015/03/06 Python
在Python的Tornado框架中实现简单的在线代理的教程
2015/05/02 Python
浅析Python中将单词首字母大写的capitalize()方法
2015/05/18 Python
Python Pexpect库的简单使用方法
2019/01/29 Python
Python 数据库操作 SQLAlchemy的示例代码
2019/02/18 Python
解决Tensorflow2.0 tf.keras.Model.load_weights() 报错处理问题
2020/06/12 Python
python属于解释型语言么
2020/06/15 Python
HTML5 localStorage使用总结
2017/02/22 HTML / CSS
药学专业个人自我评价
2013/11/11 职场文书
客服文员岗位职责
2013/11/29 职场文书
新闻编辑专业毕业自荐书范文
2014/02/05 职场文书
市场营销专业毕业生求职信
2014/07/21 职场文书
CSS精灵图的原理与使用方法介绍
2022/03/17 HTML / CSS