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 相关文章推荐
xmlHTTP实例
Oct 24 Javascript
用JavaScript实现UrlEncode和UrlDecode的脚本代码
Jul 23 Javascript
Jquery ajaxsubmit上传图片实现代码
Nov 04 Javascript
jquery加载页面的方法(页面加载完成就执行)
Jun 21 Javascript
JavaScript代码复用模式实例分析
Dec 02 Javascript
jQuery快速上手:写jQuery与直接写JS的区别详细解析
Aug 26 Javascript
JS调用页面表格导出excel示例代码
Mar 18 Javascript
JavaScript File分段上传
Mar 10 Javascript
Node.js 文件夹目录结构创建实例代码
Jul 08 Javascript
使用do...while的方法输入一个月中所有的周日(实例代码)
Jul 22 Javascript
js遍历json对象所有key及根据动态key获取值的方法(必看)
Mar 09 Javascript
js canvas实现适用于移动端的百分比仪表盘dashboard
Jul 18 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
dedecms模板标签代码官方参考
2007/03/17 PHP
兼容性最强的PHP生成缩略图的函数代码(修改版)
2011/01/18 PHP
codeigniter框架批量插入数据
2014/01/09 PHP
php无限遍历目录示例
2014/02/21 PHP
php数组查找函数总结
2014/11/18 PHP
PHP实现登录搜狐广告获取广告联盟数据的方法【附demo源码】
2016/10/14 PHP
PHP实用小技巧之调用录像的方法
2019/12/05 PHP
PHP中的异常处理机制深入讲解
2020/11/10 PHP
PHP实现爬虫爬取图片代码实例
2021/03/03 PHP
jquery操作select option 的代码小结
2011/06/21 Javascript
牛叉的Jquery——Jquery与DOM对象的互相转换及DOM的三种操作
2015/10/29 Javascript
JavaScript中的对象和原型(一)
2016/08/12 Javascript
js实现文字超出部分用省略号代替实例代码
2016/09/01 Javascript
Jquery鼠标放上去显示全名的实现方法
2017/02/06 Javascript
angular中使用Socket.io实例代码
2017/06/03 Javascript
详解Vue.js Mixins 混入使用
2017/09/15 Javascript
js中Object.defineProperty()方法的不详解
2018/07/09 Javascript
小程序实现单选多选功能
2018/11/04 Javascript
js防抖和节流的深入讲解
2018/12/06 Javascript
jQuery实现手风琴效果(蒙版)
2020/01/11 jQuery
Python中的字符串查找操作方法总结
2016/06/27 Python
python爬虫系列Selenium定向爬取虎扑篮球图片详解
2017/11/15 Python
python实现决策树ID3算法的示例代码
2018/05/30 Python
解决python3 安装完Pycurl在import pycurl时报错的问题
2018/10/15 Python
对Python 3.5拼接列表的新语法详解
2018/11/08 Python
快速解决vue.js 模板和jinja 模板冲突的问题
2019/07/26 Python
Python实现实时数据采集新型冠状病毒数据实例
2020/02/04 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
2020/03/30 Python
python是怎么被发明的
2020/06/15 Python
python 通过 pybind11 使用Eigen加速代码的步骤
2020/12/07 Python
丝芙兰中国官方商城:SEPHORA中国
2018/01/10 全球购物
Strathberry苏贝瑞中国官网:西班牙高级工匠手工打造
2020/10/19 全球购物
应届生护士求职信
2013/11/01 职场文书
法人委托书范本
2014/04/04 职场文书
债务追讨律师函
2015/06/24 职场文书
MySQL事务操作的四大特性以及并发事务问题
2022/04/12 MySQL