query预加载等比缩放图片并居中显示
2013-10-10 22:10
330 查看
<script type="text/javascript">
/*
scaling 是否等比例自动缩放
width 图片最大高
height 图片最大宽
loadpic 加载过程中显示的图片路径
*/
jQuery.fn.LoadImage = function (scaling, width, height, loadpic) {
if (loadpic == null) {
loadpic = "../../Images/loading.gif";
}
return this.each(function () {
var t = $(this);
var src = $(this).attr("src")
var img = new Image();
img.src = src;
var autoScaling = function () {
if (scaling) {
if (img.width > 0 && img.height > 0) {
if (img.width / img.height >= width / height) {
if (img.width > width) {
t.width(width);
t.height((img.height * width) / img.width);
} else {
t.width(img.width);
t.height(img.height);
}
} else {
if (img.height > height) {
t.height(height);
t.width((img.width * height) / img.height);
} else {
t.width(img.width);
t.height(img.height);
}
}
}
//在父容器中居中显示
t.css("margin-left", ($("#" + t.context.parentNode.id).width() - t.width()) * 0.5 + "px");
t.css("margin-top", ($("#" + t.context.parentNode.id).height() - t.height()) * 0.5 + "px");
}
}
//处理ff下会自动读取缓存图片
if (img.complete) {
autoScaling();
return;
}
$(this).attr("src", "");
var loading = $("<img alt=\"加载中\" title=\"图片加载中\" src=\"" + loadpic + "\" />");
t.hide();
t.after(loading);
$(img).load(function () {
autoScaling();
loading.remove();
t.attr("src", this.src);
t.show();
});
});
}
//调用的例子
$("div[id^='divProduct'] img[id^='imgProduct']").LoadImage(true, 396, 300);
$("div[id^='divPhoto'] img").LoadImage(true, 200, 240);
</script>
相关文章推荐
- Swift笔记 使用UIScrollView来居中显示图片,可缩放和跟踪触摸点
- IOS自定义图片浏览器,支持浏览多张图片,点击,双击,两手指缩放操作,并显示加载进度条
- 图片等比例缩放 居中显示到div 超出div的部分影藏
- iOS实现图片的缩放和居中显示
- jquery图片预加载 等比缩放
- 网络图片 和本地图片 显示 ——等比缩放
- 实现动态加载的图片页面中纵向居中显示
- CSS如何让图片垂直并水平居中等比缩放?
- Glide 加载图片 宽度固定 等比缩放
- 图片上下左右居中等比缩放
- \t\t用js控制页面图片等比缩放 css图片等比缩放 比例缩放显示 js 页面 缩放图片 js缩放图片 图片按比例缩放
- 图片在固定大小容器中等比居中显示
- android 利用ImagevView加载本地图片并实现等比缩放
- iOS实现图片的缩放和居中显示
- javascript图片等比缩放并自动居中
- JQuery 图片延迟加载并等比缩放插件
- html css 图片缩放等居中显示代码
- JS等比例缩放图片以及让图片水平垂直居中显示