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 相关文章推荐
JQuery Easyui Tree的oncheck事件实现代码
May 28 Javascript
js中文逗号转英文实现
Feb 11 Javascript
jQuery实现彩带延伸效果的网页加载条loading动画
Oct 29 Javascript
jQuery 翻页组件yunm.pager.js实现div局部刷新的思路
Aug 11 Javascript
IOS中safari下的select下拉菜单文字过长不换行的解决方法
Sep 26 Javascript
JS使用ActiveXObject实现用户提交表单时屏蔽敏感词功能
Jun 20 Javascript
jQuery+ajax实现修改密码验证功能实例详解
Jul 06 jQuery
初探JavaScript 面向对象(推荐)
Sep 03 Javascript
JS实现网站吸顶条
Jan 08 Javascript
如何在JavaScript中创建具有多个空格的字符串?
Feb 23 Javascript
Js实现复选框的全选、全不选反选功能代码实例
Feb 28 Javascript
Vue-router中hash模式与history模式的区别详解
Dec 15 Vue.js
简单分析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代码给图片加水印
2015/07/01 PHP
thinkPHP下ueditor的使用方法详解
2015/12/26 PHP
Zend Framework教程之路由功能Zend_Controller_Router详解
2016/03/07 PHP
详解PHP的Yii框架中的Controller控制器
2016/03/29 PHP
PHP封装的非对称加密RSA算法示例
2018/05/28 PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
2020/05/27 PHP
php上传图片并给图片打上透明水印的代码
2010/06/07 Javascript
基于jQuery的弹出框插件
2012/03/18 Javascript
JS数组去重与取重的示例代码
2014/01/24 Javascript
Javascript连接多个数组不用concat来解决
2014/03/24 Javascript
容易造成JavaScript内存泄露几个方面
2014/09/04 Javascript
JavaScript对象之深度克隆介绍
2014/12/08 Javascript
浅谈JavaScript函数节流
2014/12/09 Javascript
jquery移动节点实例
2015/01/14 Javascript
javascript实现判断鼠标的状态
2015/07/10 Javascript
微信企业号开发之微信考勤Cookies的使用
2015/09/11 Javascript
jquery判断输入密码两次是否相等
2020/04/22 Javascript
PassWord输入框代码分享
2016/06/07 Javascript
jQuery多级联动下拉插件chained用法示例
2016/08/20 Javascript
Vue.js动态添加、删除选题的实例代码
2016/09/30 Javascript
javascript 取小数点后几位几种方法总结
2017/08/02 Javascript
js JSON.stringify()基础详解
2019/06/19 Javascript
Python GAE、Django导出Excel的方法
2008/11/24 Python
从零学Python之入门(四)运算
2014/05/27 Python
Python ORM框架SQLAlchemy学习笔记之安装和简单查询实例
2014/06/10 Python
python利用paramiko连接远程服务器执行命令的方法
2017/10/16 Python
Python实现求解一元二次方程的方法示例
2018/06/20 Python
Python中return self的用法详解
2018/07/27 Python
Python3 sys.argv[ ]用法详解
2019/10/24 Python
python3 Scrapy爬虫框架ip代理配置的方法
2020/01/17 Python
Python根据指定文件生成XML的方法
2020/06/29 Python
HTML5基于flash实现播放RTMP协议视频的示例代码
2020/12/04 HTML / CSS
日本乐天官方海外转运服务:Rakuten Global Express
2018/11/30 全球购物
kfc实习自我鉴定
2013/12/14 职场文书
个人反四风对照检查材料思想汇报
2014/09/23 职场文书
党性修养心得体会2016
2016/01/21 职场文书