...

用jquery控制图片的最大宽度

防止图片尺寸太大撑破网页
方法一:jQuery控制:

  1. $(document).ready(function() {
  2. $(img).each(function(i){ 
  3.     var maxwidth=screen.width-$(#column2).width()-$(#column3).width()100;
  4.     if (this.width>maxwidth)
  5.      this.width = maxwidth;
  6.     });
  7. });

第一行不用解释了吧?
第二行是查找所有img标签,每一个做后边的function处理
第三行设定最大的宽度,我这里取得是屏幕分辨率减去左右2列的宽度和一个常量。
第四,五行判断图片的宽度,如果超过这个宽度则设其宽度为允许的最大宽度。

现在看来,第三行应该和第二行换一下,效率应该会高些,这么写还有一个问题就是必须浏览器最大化才正常,还有什么好的解决方案呢?

方法二:JS控制:
<script>
function resizeImg(obj) {
var obj = document.getElementById(obj);
var objContent = obj.innerHTML;
var imgs = obj.getElementsByTagName(‘img’);
if(imgs==null) return;
for(var i=0; i<imgs.length; i++) {
if(imgs[i].width>parseInt(obj.style.width)) {
imgs[i].width = parseInt(obj.style.width);
}
}
}
window.onload = function() {resizeImg(‘testDiv‘);}
</script>

调用的时候只要修改表格或DIV的ID名字(红色代码的部分)就可以了。
转载自:
http://www.juyimeng.com/control-images-max-width-with-jquery.html
http://www.lao8.org/html/8/2010-10-2/js.html

订阅更新

请在下方输入您的电子邮箱地址,订阅我们的新闻通讯。

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注

Seraphinite AcceleratorBannerText_Seraphinite Accelerator
Turns on site high speed to be attractive for people and search engines.