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小功能(offsetLeft实现图片滚动效果)实例代码
Nov 28 Javascript
jquery ajax jsonp跨域调用实例代码
Dec 11 Javascript
AngularJS实现表单验证
Jan 28 Javascript
论Bootstrap3和Foundation5网格系统的异同
May 16 Javascript
全面介绍javascript实用技巧及单竖杠
Jul 18 Javascript
jQuery EasyUI中的日期控件DateBox修改方法
Nov 09 Javascript
vue2.0开发实践总结之入门篇
Dec 06 Javascript
父组件中vuex方法更新state子组件不能及时更新并渲染的完美解决方法
Apr 25 Javascript
详解ajax的data参数错误导致页面崩溃
Apr 30 Javascript
vue实现微信分享链接添加动态参数的方法
Apr 29 Javascript
js实现无刷新监听URL的变化示例代码详解
Jun 03 Javascript
解决VUE 在IE下出现ReferenceError: Promise未定义的问题
Nov 07 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
索尼ICF-SW100收音机评测
2021/03/02 无线电
PHP fprintf()函数用法讲解
2019/02/16 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
2020/03/27 PHP
node.js中的Socket.IO使用实例
2014/11/04 Javascript
jQuery创建DOM元素实例解析
2015/01/19 Javascript
JavaScript实现标题栏文字轮播效果代码
2015/10/24 Javascript
jquery按回车键实现表单提交的简单实例
2016/05/25 Javascript
javascript如何定义对象数组
2016/06/07 Javascript
基于chosen插件实现人员选择树搜索自动筛选功能
2016/09/24 Javascript
Javascript 高性能之递归,迭代,查表法详解及实例
2017/01/08 Javascript
node.js入门教程之querystring模块的使用方法
2017/02/27 Javascript
JavaScript 数组去重并统计重复元素出现的次数实例
2017/12/14 Javascript
对layui初始化列表的CheckBox属性详解
2019/09/13 Javascript
如何搭建一个完整的Vue3.0+ts的项目步骤
2020/10/18 Javascript
Python中给List添加元素的4种方法分享
2014/11/28 Python
在Python中通过threading模块定义和调用线程的方法
2016/07/12 Python
Python matplotlib 画图窗口显示到gui或者控制台的实例
2018/05/24 Python
python使用PIL模块获取图片像素点的方法
2019/01/08 Python
利用python计算windows全盘文件md5值的脚本
2019/07/27 Python
python自动化测试之异常及日志操作实例分析
2019/11/09 Python
深入浅析Python 命令行模块 Click
2020/03/11 Python
Python如何根据时间序列数据作图
2020/05/12 Python
使用django自带的user做外键的方法
2020/11/30 Python
HTML5 placeholder(空白提示)属性介绍
2013/08/07 HTML / CSS
软件设计的目标是什么
2016/12/04 面试题
领导视察欢迎词
2014/01/15 职场文书
汉语言文学职业规划
2014/02/14 职场文书
教育技术学专业职业规划书
2014/03/03 职场文书
绿色学校实施方案
2014/03/31 职场文书
目标责任书范文
2014/04/14 职场文书
校园主题婚礼活动策划方案
2014/09/15 职场文书
2016年优秀班主任先进事迹材料
2016/02/26 职场文书
2019年健身俱乐部的创业计划书
2019/08/26 职场文书
css3实现背景图片颜色修改的多种方式
2021/04/13 HTML / CSS
PyTorch中permute的使用方法
2022/04/26 Python
MySQL详细讲解变量variables的用法
2022/06/21 MySQL