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 相关文章推荐
prototype 1.5 &amp; scriptaculous 1.6.1 学习笔记
Sep 07 Javascript
JavaScript面向对象设计二 构造函数模式
Dec 20 Javascript
使用jQuery fancybox插件打造一个实用的数据传输模态弹出窗体
Jan 15 Javascript
jQuery function的正确书写方法
Aug 02 Javascript
js验证电话号码与手机支持+86的正则表达式
Jan 23 Javascript
jQuery设置与获取HTML,文本和值的简单实例
Feb 26 Javascript
BootStrap 轮播插件(carousel)支持左右手势滑动的方法(三种)
Jul 07 Javascript
jQuery中table数据的值拷贝和拆分
Mar 19 Javascript
浅谈Angular HttpClient简单入门
May 04 Javascript
解决vue的变量在settimeout内部效果失效的问题
Aug 30 Javascript
微信小程序canvas.drawImage完全显示图片问题的解决
Nov 30 Javascript
如何使用50行javaScript代码实现简单版的call,apply,bind
Aug 14 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
php下获取客户端ip地址的函数
2010/03/15 PHP
使用Composer安装Yii框架的方法
2016/03/15 PHP
Laravel Eloquent ORM 多条件查询的例子
2019/10/10 PHP
js页面滚动时层智能浮动定位实现(jQuery/MooTools)
2011/08/23 Javascript
JSON序列化与解析原生JS方法且IE6和chrome测试通过
2013/09/05 Javascript
Javascript浅谈之引用类型
2013/12/18 Javascript
详谈javascript中DOM的基本属性
2015/02/26 Javascript
JS解析XML文件和XML字符串详解
2015/04/17 Javascript
jquery实现二级导航下拉菜单效果
2015/12/18 Javascript
判断数组是否包含某个元素的js函数实现方法
2016/05/19 Javascript
基于vue实现一个神奇的动态按钮效果
2019/05/15 Javascript
基于javascript实现贪吃蛇小游戏
2019/11/25 Javascript
VUE使用 wx-open-launch-app 组件开发微信打开APP功能
2020/08/11 Javascript
vue实现简单计算商品价格
2020/09/14 Javascript
python中的函数用法入门教程
2014/09/02 Python
python中正则表达式的使用详解
2014/10/17 Python
Python中下划线的使用方法
2015/03/27 Python
python绘制BA无标度网络示例代码
2019/11/21 Python
python运用pygame库实现双人弹球小游戏
2019/11/25 Python
Python 音频生成器的实现示例
2019/12/24 Python
Python接口测试环境搭建过程详解
2020/06/29 Python
matplotlib 多个图像共用一个colorbar的实现示例
2020/09/10 Python
HTML5的结构和语义(5):交互
2008/10/17 HTML / CSS
HTML5引入的新数组TypedArray介绍
2012/12/24 HTML / CSS
Clearly新西兰:购买眼镜、太阳镜和隐形眼镜
2018/04/26 全球购物
卡西欧B级产品官方网站:Casio Outlet
2018/05/22 全球购物
美团网旗下网上订餐平台:美团外卖
2020/03/05 全球购物
Ray-Ban雷朋奥地利官网:全球领先的太阳眼镜品牌
2020/10/12 全球购物
JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
2015/10/22 面试题
小学三年级学生评语
2014/04/22 职场文书
企业挂职心得体会
2014/09/10 职场文书
2015年元旦主持词开场白
2014/12/14 职场文书
小学班主任评语
2014/12/29 职场文书
应聘教师自荐信
2015/03/26 职场文书
教师见习总结范文
2015/06/23 职场文书
实例讲解Python中sys.argv[]的用法
2021/06/03 Python