js控制图片onload 批量设置内容下所有图片的等比例压缩

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js控制图片onload 批量设置内容下所有图片的等比例压缩相关的知识,希望对你有一定的参考价值。

调用时用  AddImgClickEvent("content",500)   就可以了。

<script type="text/javascript">
function AddImgClickEvent(str,width)
{
var objs = document.getElementById(str).getElementsByTagName("img");
for(var i=0;i<objs.length;i++)
{
objs[i].onload=function()
{
AutoResizeImage(width,0,this);
}
objs[i].style.cursor = "pointer";
}
}

function AutoResizeImage(maxWidth,maxHeight,objImg){
var img = new Image();
img.src = objImg.src;
var hRatio;
var wRatio;
var Ratio = 1;
var w = img.width;
var h = img.height;
wRatio = maxWidth / w;
hRatio = maxHeight / h;
if (maxWidth ==0 && maxHeight==0){
Ratio = 1;
}else if (maxWidth==0){//
if (hRatio<1) Ratio = hRatio;
}else if (maxHeight==0){
if (wRatio<1) Ratio = wRatio;
}else if (wRatio<1 || hRatio<1){
Ratio = (wRatio<=hRatio?wRatio:hRatio);
}
if (Ratio<1){
w = w * Ratio;
h = h * Ratio;
}
objImg.height = h;
objImg.width = w;
}
</script>

 

 获取 id=content 下的所有图片。。 document.getElementById("content").getElementsByTagName("img"); 

以上是关于js控制图片onload 批量设置内容下所有图片的等比例压缩的主要内容,如果未能解决你的问题,请参考以下文章

js提升的6个小案例

JS中onload方法,JQ中的load,ready方法

js中的事件以及获取内容

jQuery的window.onload和$(function(){})

轮播图js怎么设置图片自适应大小

加载顺序 ready onload onreadystatechange