jquery图片尺寸调整插件图片垂直居中自适应容器
2015-03-19 14:10
405 查看
(function($) { $.fn.extend({ resizeImg: function(opt, callback) { var defaults = { w: 200, h: 150 }, opts = $.extend(defaults, opt); //获取图片实际宽高,此方法摘自网络 var getImgWh = function(url, callback) { var width, height, intervalId, check, div, img = new Image(), body = document.body; img.src = url; //从缓存中读取 if (img.complete) { return callback(img.width, img.height); }; //通过占位提前获取图片头部数据 if (body) { div = document.createElement('div'); div.style.cssText = 'visibility:hidden;position:absolute;left:0;top:0;width:1px;height:1px;overflow:hidden'; div.appendChild(img) body.appendChild(div); width = img.offsetWidth; height = img.offsetHeight; check = function() { if (img.offsetWidth !== width || img.offsetHeight !== height) { clearInterval(intervalId); callback(img.offsetWidth, img.clientHeight); img.onload = null; div.innerHTML = ''; div.parentNode.removeChild(div); }; }; intervalId = setInterval(check, 150); }; // 加载完毕后方式获取 img.onload = function() { callback(img.width, img.height); img.onload = img.onerror = null; clearInterval(intervalId); body && img.parentNode.removeChild(img); }; }; this.each(function() { var _this = this; getImgWh(this.src, function(imgWidth, imgHeight) { //计算图片最大宽度 if (imgWidth > opts["w"]) { _this.width = opts["w"]; _this.height = imgHeight * (opts["w"] / imgWidth); imgWidth = opts["w"]; imgHeight = _this.height; } //计算图片最大高度 if (imgHeight > opts["h"]) { _this.height = opts["h"]; _this.width = imgWidth * (opts["h"] / imgHeight); imgHeight = opts["h"]; imgWidth = _this.width; } //水平居中,垂直居中 $(_this).css({ "margin-top": (opts["h"] - imgHeight) / 2, "margin-left": (opts["w"] - imgWidth) / 2 }); }); }); } }); })(jQuery);
调用方法
$("ul li img").resizeImg({ w:190, //设置图片最大宽度 h:80 //设置图片最大高度 });
相关文章推荐
- jquery图片尺寸调整插件图片垂直居中自适应容器
- html+css使用空白标签巧妙实现不同尺寸的图片在容器里垂直居中的方法
- 使用纯CSS实现未知尺寸的图片(但高宽都小于200px)在200px的正方形容器中水平和垂直居中。
- CSS未知尺寸的图片在容器中垂直居中的方法
- jQuery插件,图片切割效果,配合PHP可以实现图片切割和调整尺寸
- 未知尺寸图片在已知尺寸容器下的水平垂直居中
- jQuery插件,图片切割效果,配合PHP可以实现图片切割和调整尺寸
- jQuery/Zepto的Bootstrap轮播图中图片自适应宽高并居中插件
- html页面中图片自适应容器大小且上下左右居中插件
- 未知尺寸图片在固定高度容器中的水平和垂直居中
- 使用纯CSS实现未知尺寸的图片(但高宽都小于500px)在500px的正方形容器中水平和垂直居中。你有几种方法?
- jQuery 插件 - 居中容器内的图片
- 固定容器内-未知大小图片-垂直居中等比例显示
- 转载未知大小的图片在一个已知大小容器中的水平和垂直居中(二)
- jQuery插件——图片按比例自适应缩放
- 图片在容器里垂直居中
- 经常用的图片在容器中的水平垂直居中实例
- (转)垂直居中及容器内图片垂直居中的CSS解决方法
- 纯css实现小图片在大容器内水平垂直居中resize
- 未知大小图片在容器的垂直和水平居中问题