jquery+css实现动感的图片切换效果


Posted in Javascript onNovember 25, 2015

本文实例讲述了jquery+css实现动感的图片切换效果代码。分享给大家供大家参考。具体如下:
运行效果截图如下:

jquery+css实现动感的图片切换效果

具体代码如下:

基本思路:定义一个数组存放需要展示的图片,接着当单击图片时删除zoomIn类,添加fadeOutRight类,实现实图右移并消失,记数器加1(用于调用下一张图片),当图片删除500毫秒后判断图片是不是最后一张,如果是,就把记数器调为0,从第一张图片开始,删除图片代码,接着创建一张新的图片代码,并把src设为下一张图片,同时加上缩放动画样式类animated zoomIn,让图片实现动画显示,之后把新建的图片代码插上p元素之前。

首选引入CSS动画文件与jquery库

<link rel="stylesheet" href="css/animate.min.css"/>
<script type="text/javascript" src="js/jquery/1.11.1/jquery.min.js"></script>

构建简单的html

<div class="container">
 <div class="center animated">
  <h1>Image Animation with A Single Img, CSS3 & some jQuery</h1>
  <img class="animated" src="images/island_1x.png" alt=""/>
   <p>
    <a target="_blank" href="#">三水点靠木</a>,
  </p>
 </div>
</div>

再加上一些CSS,这里随意,请根据自己的项目来调整

.container {
   width: 100vw;
   height: 100vh;
   background-color: #fff;
   position: absolute;
  }
 
  .center {
   width: 600px;
   margin-left: auto;
   margin-right: auto;
   position: relative;
   top: 50%;
   transform: translateY(-50%);
   text-align: center;
 
   background-image: url(images/banana.png);
   background-position: -10000px,-10000px;
   background-repeat: no-repeat;
  }
 
  .center h1 {
   margin: 0px;
   padding: 0px;
   text-align: center;
   margin-bottom: 50px;
   font-size: 18px;
   text-transform: uppercase;
  }
 
  .center p{
   padding-top:50px;
   text-align: center;
   color: #ccc;
   font-size: 12px;
 
  }
 
  .center p a{
   text-decoration: none;
   color: inherit;
  }
 
  .center p a:hover{
   color:#222;
  }
 
  .center img{
   cursor: pointer;
  }

基本的CSS定位整个页面,动画不受以上的CSS影响。
写入JS实现动画效要

var imgs=[ //定义存放图片路径的数组
   "images/island_1x.png",
   "images/banana.png",
   "images/rescued-illos_1x.png",
   "images/rivalry_1x.png",
   "images/sir_crags_a_lot_1x.png",
   "images/sf-cryptids_1x.png",
   "images/db_space_1x.png",
   "images/xmas1_1x.png"
 ];
 var counter =0; //图片的记数器
 $(document).ready(function () {
  $(".center").on("click","img",function(){ //定义.center单击图片事件
   $(this).removeClass("zoomIn").addClass("fadeOutRight"); //删除单击图片的zoomIn类,添加fadeOutRight类
   counter++; //记数器加1
   setTimeout(function(){ //500毫秒后执行此方法
    if(counter==imgs.length) counter=0; //如果到了最后一张图片则返回第一张
    $(".center img").remove(); //删除图片
    $("<img/>").attr("src",imgs[counter]).addClass("animated zoomIn").insertBefore($(".center p"));
    //拼接成下一张图片并加上缩放动画样式类animated zoomIn,最后添加上.center p元素前
    if(imgs[counter+1]!=undefined) $(".center").css("backgroundImage","url("+imgs[counter+1]+")")
    //如果下一张图片没有定义,刚为.center元素的背影图片改为下一张图片(不明白加此行代码的用意,感觉没意义。。。)
   },500);
  });
 
 });

源码下载:jquery+css实现动感的图片切换效果源码

以上就是jquery结合css实现动感的图片切换效果,分享的代码很详细,还提供了代码的基本思路,希望大家喜欢,并且可以学以致用。

Javascript 相关文章推荐
javascript 放大镜效果js组件 qsoft.PopBigImage.v0.35 加入了chrome支持
Apr 07 Javascript
seajs中模块的解析规则详解和模块使用总结
Mar 12 Javascript
页面装载js及性能分析方法介绍
Mar 21 Javascript
webapp框架AngularUI的demo改造之路
Dec 21 Javascript
JavaScript操作cookie类实例
Mar 31 Javascript
JavaScript中setUTCMilliseconds()方法的使用详解
Jun 12 Javascript
Backbone.js的Hello World程序实例
Jun 19 Javascript
bootstrap datetimepicker实现秒钟选择下拉框
Jan 05 Javascript
JS设计模式之数据访问对象模式的实例讲解
Sep 30 Javascript
实用Javascript调试技巧分享(小结)
Jun 18 Javascript
Vue编写可显示周和月模式的日历 Vue自定义日历内容的显示
Jun 26 Javascript
vue-cli3自动消除console.log()的调试信息方式
Oct 21 Javascript
基于jQuery实现拖拽图标到回收站并删除功能
Nov 25 #Javascript
基于jquery实现页面滚动时顶部导航显示隐藏
Apr 20 #Javascript
Prototype框架详解
Nov 25 #Javascript
谈谈js中的prototype及prototype属性解释和常用方法
Nov 25 #Javascript
Bootstrap每天必学之下拉菜单
Nov 25 #Javascript
使用Javascript写的2048小游戏
Nov 25 #Javascript
Jquery-1.9.1源码分析系列(十一)之DOM操作
Nov 25 #Javascript
You might like
php mysql 判断update之后是否更新了的方法
2012/01/10 PHP
解决PHP超大文件下载,断点续传下载的方法详解
2013/06/06 PHP
解析php中curl_multi的应用
2013/07/17 PHP
ajax+php控制所有后台函数调用
2015/07/15 PHP
PHP实现的简单排列组合算法应用示例
2017/06/20 PHP
Javascript 判断是否存在函数的方法
2013/01/03 Javascript
JavaScript var声明变量背后的原理示例解析
2013/10/12 Javascript
JavaScript通过prototype给对象定义属性用法实例
2015/03/23 Javascript
javascript实现图片上传前台页面
2015/08/18 Javascript
Bootstrap入门书籍之(五)导航条、分页导航
2016/02/17 Javascript
jQuery实现的倒计时效果实例小结
2016/04/16 Javascript
CKEditor无法验证的解决方案(js验证+jQuery Validate验证)
2016/05/09 Javascript
JS之获取样式的简单实现方法(推荐)
2016/09/13 Javascript
NODE.JS跨域问题的完美解决方案
2016/10/20 Javascript
详解从Node.js的child_process模块来学习父子进程之间的通信
2017/03/27 Javascript
js实现可以点击收缩或张开的悬浮窗
2017/09/18 Javascript
常用的9个JavaScript图表库详解
2017/12/19 Javascript
JS实现的透明度渐变动画效果示例
2018/04/28 Javascript
vue地址栏直接输入路由无效问题的解决
2018/11/15 Javascript
D3.js的基础部分之数组的处理数组的排序和求值(v3版本)
2019/05/09 Javascript
Vue formData实现图片上传
2019/08/20 Javascript
vue实现文件上传读取及下载功能
2020/11/17 Javascript
[38:51]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-CDEC
2014/05/22 DOTA
[04:45]DOTA2-DPC中国联赛正赛 iG vs LBZS 赛后选手采访
2021/03/11 DOTA
python BeautifulSoup设置页面编码的方法
2015/04/03 Python
Python基于smtplib实现异步发送邮件服务
2015/05/28 Python
Python3使用pandas模块读写excel操作示例
2018/07/03 Python
对Python定时任务的启动和停止方法详解
2019/02/19 Python
python操作kafka实践的示例代码
2019/06/19 Python
Django中使用Celery的方法步骤
2020/12/07 Python
群众路线教育实践活动心得体会(教师)
2014/10/31 职场文书
2014企业年终工作总结
2014/12/23 职场文书
社区安置帮教工作总结2015
2015/05/20 职场文书
交通处罚决定书
2015/06/24 职场文书
Python获取字典中某个key的value
2022/04/13 Python
Win10多屏显示如何设置?Win10电脑多屏显示设置操作方法
2022/07/07 数码科技