jQuery插件expander实现图片翻转特效


Posted in Javascript onMay 21, 2015

分享一款基于jQuery图片弹出翻转特效代码。这是一款基于jQuery+HTML5实现的,里面包含六款不同效果的鼠标点击图片弹出特效下载。效果图如下:

jQuery插件expander实现图片翻转特效

引入CSS和JS

<link href="css/expander.css" rel="stylesheet">
<link href="css/theme.css" rel="stylesheet">
<script src="js/jquery-latest.min.js" type="text/javascript"></script>
<script src="js/expander.min.js"></script>

expander.min.js代码

!function(){function a(){var a=this;this.init=function(){$(document).ready(function(){var b=$("<div class='expander-siv'></div>");a.siv=b,$("div.expander-siv").length||$("body").append(b),$("img[data-expander]").each(function(){var c=$(this);c.attr("src",c.attr("src")+"?"+(new Date).getTime()),c.load(function(){var b=$(this).attr("data-expander"),c=$("<div data-expanderContainer></div>");if(c.addClass("expander-container"),b=b.replace(/(['"])?([a-zA-Z0-9_]+)(['"])?:/g,'"$2": '),b=b?JSON.parse(b):{},b.animation&&c.addClass(b.animation),b.theme||(b.theme="dark",c.addClass("theme"),c.addClass("dark"),$("div.expander-siv").addClass("dark"),$("div.expander-siv").addClass("theme")),b.speed||(b.speed="normal"),b.url){var d=$(this).clone();d.attr("src",b.url+"?"+(new Date).getTime()),c.append(d)}else c.append($(this).clone());c.data("options",b),c.data("original",{parent:$(this),position:$(this).offset()}),c.css({position:"absolute",width:$(this).outerWidth(),height:$(this).outerHeight(),top:$(this).offset().top,left:$(this).offset().left}),$(this).data("container",c),c.addClass("anim-"+b.speed),$("body").append(c),$(this).on("click",function(){a.pop($(this).data("container"))}),c.on("click",function(){a.unpop($(this))})}),$(this).bind("expand",function(){a.pop($(this).data("container"))}),$(this).bind("retract",function(){a.unpop($(this).data("container"))})}),setInterval(function(){a.reLayout()},2e3)}),$(window).resize(function(){a.reLayout()})},this.reLayout=function(){$("div[data-expanderContainer]").each(function(){if($(this).hasClass("open"))$(this).css({top:$(window).scrollTop()+"px",left:"0px",width:"100%",height:"100%"});else{var b=$(this).data("original");$(this).css({width:b.parent.outerWidth(),height:b.parent.outerHeight(),top:b.parent.offset().top,left:b.parent.offset().left})}})},this.pop=function(b){a.siv.removeClass(),a.siv.addClass("expander-siv").addClass("theme").addClass(b.data("options").theme),a.siv.addClass("show"),b.addClass("open"),b.css({position:"absolute",top:$(window).scrollTop()+"px",left:"0px",width:"100%",height:"100%"})},this.unpop=function(b){a.siv.removeClass("show");var c=b.data("original").parent;b.css({position:"absolute",top:c.offset().top+"px",left:c.offset().left+"px",width:c.outerWidth()+"px",height:c.outerHeight()+"px"}),b.removeClass("open")},this.init()}var a=new a}();

JS代码:

<script>
    var index = 0;
    var timeout = setInterval(function () {
      if (index > 10) {
        window.clearInterval(timeout)
      }
      $("article").eq(index).addClass("show");
      index++
    }, 300);

    function showFoo() {
      $("#fooId").trigger("expand");
    }

    $("#expandSettings").on("click", function () {
      if ($("ul.settings").hasClass("open")) {
        $("ul.settings").removeClass("open");
      } else {
        $("ul.settings").addClass("open");

      }
    });
</script>

HTML

<section class="main">
<article>
<div class="imgContainer">
<h5>效果一</h5>
<img src="images/chinaz.jpg" data-expander='{animation:"default"}'>
</div>
<div class="imgContainer">
<h5>效果二</h5>
<img src="images/chinaz.jpg" data-expander='{animation:"diamond"}'>
</div>
<div class="imgContainer">
<h5>效果三</h5>
<img src="images/chinaz.jpg" data-expander='{animation:"turn3d"}'>
</div>
<div class="imgContainer">
<h5>效果四</h5>
<img src="images/chinaz.jpg" data-expander='{animation:"flip3d"}'>
</div>
<div class="imgContainer">
<h5>效果五</h5>
<img src="images/chinaz.jpg" data-expander='{animation:"rotate"}'>
</div>
<div class="imgContainer">
<h5>效果六</h5>
<img src="images/chinaz.jpg" data-expander='{animation:"fade"}'>
</div>
</article>
</section>

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
详解js图片轮播效果实现原理
Dec 17 Javascript
jQuery的框架介绍
May 11 Javascript
jQuery.Validate表单验证插件的使用示例详解
Jan 04 Javascript
Javascript中的神器——Promise
Feb 08 Javascript
JavaScript循环_动力节点Java学院整理
Jun 28 Javascript
详解vuex的简单使用
Mar 12 Javascript
js构建二叉树进行数值数组的去重与优化详解
Mar 26 Javascript
js实现左右两侧浮动广告
Jul 09 Javascript
微信小程序实现自定义picker选择器弹窗内容
May 26 Javascript
详解如何在vue项目中使用lodop打印插件
Sep 27 Javascript
从零开始用electron手撸一个截屏工具的示例代码
Oct 10 Javascript
微信小程序实现日期格式化和倒计时
Nov 01 Javascript
简单分析javascript面向对象与原型
May 21 #Javascript
jQuery获取上传文件的名称的正则表达式
May 21 #Javascript
js兼容火狐获取图片宽和高的方法
May 21 #Javascript
js兼容火狐显示上传图片预览效果的方法
May 21 #Javascript
javascript去除空格方法小结
May 21 #Javascript
删除javascript所创建子节点的方法
May 21 #Javascript
png在IE6 下无法透明的解决方法汇总
May 21 #Javascript
You might like
一个目录遍历函数
2006/10/09 PHP
示例详解Laravel的注册重构
2016/08/14 PHP
Yii 框架入口脚本示例分析
2020/05/19 PHP
用svg制作富有动态的tooltip
2015/07/17 Javascript
JS简单实现城市二级联动选择插件的方法
2015/08/19 Javascript
jQuery 1.9.1源码分析系列(十三)之位置大小操作
2015/12/02 Javascript
js获取当前年月日-YYYYmmDD格式的实现代码
2016/06/01 Javascript
3种不同的ContextMenu右键菜单实现代码
2016/11/03 Javascript
ajax异步请求详解
2017/01/06 Javascript
Vue数据驱动模拟实现1
2017/01/11 Javascript
js最实用string(字符串)类型的使用及截取与拼接详解
2019/04/26 Javascript
扫微信小程序码实现网站登陆实现解析
2019/08/20 Javascript
JavaScript实现联动菜单特效
2020/01/07 Javascript
Openlayers实现点闪烁扩散效果
2020/09/24 Javascript
微信小程序实现购物车功能
2020/11/18 Javascript
[02:49]DOTA2完美大师赛首日观众采访
2017/11/23 DOTA
Tornado Web服务器多进程启动的2个方法
2014/08/04 Python
python探索之BaseHTTPServer-实现Web服务器介绍
2017/10/28 Python
Python解析并读取PDF文件内容的方法
2018/05/08 Python
python selenium自动上传有赞单号的操作方法
2018/07/05 Python
利用python实现对web服务器的目录探测的方法
2019/02/26 Python
springboot配置文件抽离 git管理统 配置中心详解
2019/09/02 Python
Tensorflow获取张量Tensor的具体维数实例
2020/01/19 Python
PyCharm刷新项目(文件)目录的实现
2020/02/14 Python
Django如何重置migration的几种情景
2021/02/24 Python
CSS3中的5个有趣的新技术
2009/04/02 HTML / CSS
制药工程专业个人求职自荐信
2014/01/25 职场文书
超市中秋节促销方案
2014/03/21 职场文书
餐饮商业计划书范文
2014/04/29 职场文书
企业党建工作汇报材料
2014/08/19 职场文书
庆祝新中国成立65周年“向国旗敬礼”网上签名寄语
2014/09/27 职场文书
2015年发展党员工作总结报告
2015/03/31 职场文书
百家讲坛观后感
2015/06/12 职场文书
2016年国陪研修感言
2015/11/18 职场文书
基于Python实现对比Exce的工具
2022/04/07 Python
微信小程序 WeUI扩展组件库的入门教程
2022/04/21 Javascript