当前位置:首页 > 日记 > 正文

jQuery实现文章弹出放大效果

jQuery实现文章弹出放大效果

首先先搭写一个基本的格式:

$.fn.popImg = function() {  //your code goes here}

然后用自调用匿名函数包裹你的代码,将系统变量以变量形式传递到插件内部,如下:

;(function($,window,document,undefined){  $.fn.popImg = function() {   //your code goes here  }})(jQuery,window,document);

那么接下来我们就在里面实现点击文章图片弹出该图片并放大的效果。

整体代码如下:

;(function($,window,document,undefined){ $.fn.popImg = function(){   //创建弹出层   var $layer = $("<div>").css({    position:'fixed',    left:0,    right:0,    top:0,    bottom:0,    width:'100%',    height:'100%',    zIndex:9999999,    display:'none',    background: "#000",    opacity:'0.6'   });   //复制点击的图片,获得图片的宽高以及位置   var cloneImg = function($targetImg){     var cloneW = $targetImg.width(),       cloneH = $targetImg.height(),       left = $targetImg.offset().left,       top = $targetImg.offset().top;     return $targetImg.clone().css({       position:'fixed',       width:cloneW,       height:cloneH,       left:left,       top:top,       zIndex:10000000     });   };   //让复制的图片居中显示   var centerImg = function($cloneImg){     var dW = $(window).width();     var dH = $(window).height();     $cloneImg.css('cursor','zoom-out').attr('clone-bigImg',true);     var img = new Image();     img.onload = function(){      $cloneImg.stop().animate({         width: this.width,        height: this.height,        left: (dW - this.width) / 2,        top: (dH - this.height) / 2      },300);     }     img.src = $cloneImg.attr('src');   };   this.each(function(){     $(this).css('cursor','zoom-in').on('click',function(){       var $body = $("body");       $layer.appendTo($body);       $layer.fadeIn(300);       var $c = cloneImg($(this));       $c.appendTo($body);       centerImg($c);     });   });  var timer = null;  $(window).on("resize", function(){   $("img[clone-bigImg]").each(function(){    var $this = $(this);    timer && clearTimeout(timer);    timer = setTimeout(function(){     centerImg($this);    }, 10);   });  });  $(window).on("click keydown", function(evt){   if(evt.type == "keydown" && evt.keyCode === 27) {    $layer.fadeOut(300);    $("img[clone-bigImg]").remove();   }   var $this = $(evt.target);   if($this.attr("clone-bigImg")){    $layer.fadeOut(300);    $("img[clone-bigImg]").remove();   }  }); }})(jQuery,window,document);

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!

相关文章

cdr怎么给制作玻璃砖效果?

cdr怎么给制作玻璃砖效果?

效果,电脑软件,cdr,CorelDRAW中想要给图片制作玻璃砖效果,cdr中自带了这个这个效果,该怎么制作呢?下面我们就来看看详细的教程。软件名称:CorelDRAW X5 中文正式版 v15.2.0.661 附详细安装教程软件大小:496MB更新时间:2016-05-161、打开CorelDRAW…

JS字符串按逗号和回车分隔的方法

JS字符串按逗号和回车分隔的方法

方法,字符串,逗号,电脑软件,JS,split函数可以传入一个正则表达式作为分隔的字符串。function foo(str){ var temp = str.split(/[\n,]/g); for(var i =0;i<temp.length;i++){ if(temp[i] == ""){ temp.splice(i, 1); /…

js时间戳格式化成日期格式的多种方

js时间戳格式化成日期格式的多种方

时间戳,方法,日期格式,多种,格式,js需要把时间戳转为为普通格式,一般的情况下可能用不到的, 下面先来看第一种吧function getLocalTime(nS) { return new Date(parseInt(nS) * 1000).toLocaleString().replace(/:\d{1,2}$/,' '); } alert(…

PS有哪些专业术语? 初学者必看的ps

PS有哪些专业术语? 初学者必看的ps

专业术语,必看,初学者,有哪些,电脑软件,ps中有一些专业术语,如果不理解的朋友别人将专业术语自己是听不懂的,该怎么理解这些专业术语呢?下面我们就来看看那详细的教程。软件名称:Adobe Photoshop 8.0 中文完整绿色破解版软件大小:150.1MB更新时…

解决ionic和angular上拉加载的问题

解决ionic和angular上拉加载的问题

上拉加载,电脑软件,ionic,angular,说到ionic上拉加载就跟pc的分页是一样的,他需要在html数据列表的最下面边添加<ion-infinite-scroll ng-if="hasmore" on-infinite="loadMore()" distance="10%"> </ion-infinite-scroll> 当列表为空 …

PS合成有趣的各种动物赛跑场景

PS合成有趣的各种动物赛跑场景

场景,有趣,动物,电脑软件,PS,效果图合成并不难,前期需要搜集一些奔跑的动物图片,并把这些动物抠出放到处理好的背景上;动物的形态不是很好的话,可以对局部变形处理;最后微调颜色和光影,并加上投影等即可。最终效果1、创建一个空白文档。2、设置背…

photoshop快捷键命令大全速记

photoshop快捷键命令大全速记

命令大全,快捷键,电脑软件,photoshop,Adobe Photoshop是电影、视频和多媒体领域的专业人士, 使用 3D 和动画的图形和 Web 设计人员, 以及工程和科学领域的专业人士的理想选择。而灵活使用软件快捷键则是学好软件的基础。工具箱(多种工具共…

利用Angular.js编写公共提示模块的

利用Angular.js编写公共提示模块的

方法,提示,模块,教程,电脑软件,前言在编写一些大型工程的时候,会经常遇到一些公用提示,使用框架自带很多时候不方便,于是我手写了一个,下面来看看详细的介绍:效果图如下方法如下一、先在angular中注册一个模块二、注册一个模块 注入依赖三、返回…

怎样删除网络上下载的PPT模板水印

怎样删除网络上下载的PPT模板水印

网络,下载,模板,删除,水印,  网络确实很强大,在如今的生活中我们都不能缺少网络。很多人现在都不用自己设计PPT模板了,但是网上下载的模板都带有各自网站的水印LOGO。以下是小编为您带来的关于删除网络上下载的PPT模板水印,希望对您有所帮助…

PS钢笔工具怎么添加锚点/删除锚点

PS钢笔工具怎么添加锚点/删除锚点

锚点,工具,删除,电脑软件,PS,今天我们就来看看关于锚点的相关知识,这些都是使用钢笔抠图最基础也是最需要掌握的知识,详细请看下文介绍。软件名称:Adobe Photoshop 8.0 中文完整绿色破解版软件大小:150.1MB更新时间:2015-11-041、选取钢笔工具在…

AI+PS制作立体质感的卡通游戏标志

AI+PS制作立体质感的卡通游戏标志

教程,质感,标志,卡通,游戏,版权申明:本文原创作者"一池子水",感谢"AI和PS制作立体标志"的原创经验分享!使用AI结合PS制作立体质感的卡通游戏标志,教程过程主要分为标志由来、寻找参考、AI画形状、PS做质感,以及结合手绘五大部分,AI部分主要是…

jquery 实时监听输入框值变化的完

jquery 实时监听输入框值变化的完

方法,实时,输入框,必看,完美,只需要同时绑定 oninput 和 onpropertychange 两个事件,但是这并不完美$('.input-form :input').bind('input propertychange', function(){ //获取.input-form下的所有 <input> 元素,并实时监听用户输入 …