分享

基于jq图片居中插件 [center]

 昵称10504424 2013-11-18

最近在做一个项目,
大量的图片基于js进行缩放(图片放大镜),
考虑用css要写许多hack,
而已经基于jq了,
干脆写个方法得了。

代码很简单,不用多讲但是很实用。

center插件在线调试

完整实例:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
.item{ position:relative;
	   height:300px; width:300px; overflow:hidden; border:5px #ccc solid; float:left; margin:10px;}
.item img{ position:absolute;}
.item span{ position:absolute; top:50%;padding:20px; display:none; background:rgba(0,0,0,.5); color:#fff;}
.item:hover span{ display:block;}
</style>

</head>
<body>

<div class="item"><img src="http://f.hiphotos.baidu.com/album/w%3D2048/sign=5a4b7bd68326cffc692ab8b28d394b90/7af40ad162d9f2d3ba2229a0a8ec8a136327cc4a.jpg"><span></span></div>
<div class="item"><img src="http://d.hiphotos.baidu.com/pic/w%3D230/sign=3f65b6e61c950a7b753549c73ad0625c/0d338744ebf81a4c22620119d62a6059242da68a.jpg"><span></span></div>
<div class="item"><img src="http://h.hiphotos.baidu.com/pic/w%3D230/sign=d44f53508701a18bf0eb154cae2e0761/08f790529822720e536837867bcb0a46f21fab2c.jpg"><span></span></div>
<div class="item"><img src="http://e.hiphotos.baidu.com/pic/w%3D230/sign=3b73e8b90b55b3199cf9857673a88286/7af40ad162d9f2d3c39c8057a8ec8a136227ccfd.jpg"><span></span></div>
<br clear="all">
<a href="http://"></a>
</body>
</html>
<script src="http://code./jquery-2.0.3.min.js"></script>

<script>
$(function(){
	$.fn.extend({ center: function (n,b) {
		n=typeof n?n:300;b=b===false?b:true;
		$(this).each(function() {
			var t=$(this),tP=t.parent();
			var tOld=t.attr("style");b&&t.removeAttr("style");
			var tH=t.height(),tW=t.width();
			var tPH=tP.height(),tPW=tP.width();
			var scaleW=tH/tW,scaleH=tW/tH;
			var pScaleW=tPH/tPW,pScaleH=tPW/tPH;
			var baseW=(pScaleW-scaleW)>(pScaleH-scaleH);
			t.attr("style",tOld);
			var data={"width":tW,"height":tH,"opacity":1};
					if((baseW&&b)){data.width=tPW; data.height=tPW*scaleW};
					if((!baseW&&b)){data.height=tPH; data.width=tPH*scaleH};
				data["top"]=(tPH-data.height)/2; data["left"]=(tPW-data.width)/2;
				t.css("opacity",0);
				t.stop(true,true).animate(data,n);
		})}})
});
</script>
<script>
$(function(){
	$("img").each(function() {
        var t=$(this);
		t.next().html("设置前图片大小 宽*高= "+t.width()+"*"+t.height())
    });
	
	$("img").eq(0).center(300,false)
	$("img").eq(1).center()
	$("img").eq(2).center(300,false)
	$("img").eq(3).center()
	})
</script>

王那个锋啊的个人博客

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约