您好,欢迎来到网址免费提交!网站收录,值得选择!
当前位置:网址免费提交 » 站长资讯 » 免费资源 » 技术文章 » 文章详细

JavaScript动态调整图片尺寸

来源:站长分类目录 浏览:328次 时间:2014-10-26

在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

我前段时间写的一篇文章就遇到过这种事情,后来用CSS的overflow和max-width属性暂时解决了页面变形的问题。这种方法好处是简单,但坏处是会破坏某些细节的效果。

如overflow:hidden,意思是当内部元素宽度大于父框架时隐藏超出宽度的部分。这样做可能会是一些内容突然截断,被隐藏了,很对不起观众。

通过max-width属性限制文章插图最大宽度的话,需要考虑各浏览器的兼容性。IE6是不支持这个属性的,在我印象中,一些浏览器虽然支持这个属性,但图片不是等比缩放的(好像是Safari和Opera,记不清了),这样做的话对这些浏览器的用户很不公平。

因此,我最终选择的是通过JavaScript动态改变图片尺寸。这种方法对各种浏览器兼容性良好(现在应该很少人会禁用JavaScript吧?),如果换主题的话,也可以灵活地改变文章插图的最大尺寸。

方案有两个,由于我使用的主题是加载了jQuery库的,因此可以用以下代码实现:

以下为引用的内容:
$(document).ready(function() { $('.post img').each(function() { var maxWidth = 100; // 图片最大宽度 var maxHeight = 100; // 图片最大高度 var ratio = 0; // 缩放比例 var width = $(this).width(); // 图片实际宽度 var height = $(this).height(); // 图片实际高度   // 检查图片是否超宽 if(width > maxWidth){ ratio = maxWidth / width; // 计算缩放比例 $(this).css("width", maxWidth); // 设定实际显示宽度 height = height * ratio; // 计算等比例缩放后的高度  $(this).css("height", height * ratio); // 设定等比例缩放后的高度 }   // 检查图片是否超高 if(height > maxHeight){ ratio = maxHeight / height; // 计算缩放比例 $(this).css("height", maxHeight); // 设定实际显示高度 width = width * ratio; // 计算等比例缩放后的高度 $(this).css("width", width * ratio); // 设定等比例缩放后的高度 } }); });

如果不想加载jQuery库,可以用以下代码:

以下为引用的内容:
function ResizeImage(image, 插图最大宽度, 插图最大高度) { if (image.className == "Thumbnail") { w = image.width; h = image.height;   if( w == 0 || h == 0 ) { image.width = maxwidth; image.height = maxheight; } else if (w > h) { if (w > maxwidth) image.width = maxwidth; } else { if (h > maxheight) image.height = maxheight; }  
        image.className = "ScaledThumbnail"; } }

采用纯JavaScript的话,麻烦点,需要手动为图片加上class=”Thumbnail”,但最终效果是一样的。

推荐站点

  • 纸质化妆盒_环保眼影盒纸质化妆盒_环保眼影盒

    1、纸质眼影盒特点,产品多元化:工艺纸盒具有重量轻、品种多样化的特点。不像注塑的产品由于磨具限制的原因,款式形状单一。2、环保优势:纸质眼影盒内外选用的均是纸质的环保材料,具有可回收、可降解等特点,相比现有的眼影盒通过注塑成型,更加环保,可有效防止环境的污染和破坏不但可以重复利用,还可以用废弃的纸包装制品造肥。3、技术优势:纸包装材料伸缩性小,不受热和光的影响,具有更好的稳定性;纸的不透明性,能够提供隐蔽隔离,使某些产品不能从包装外部看到,满足了某些产品的包装需要。工艺纸盒还具有良好的透气性、柔软性、强度及可控的撕裂性能;使产品有很好的弹性和韧性,可以对被包装物提供一定的保护作用。 纸质化妆盒、又叫纸质眼影盒、纸质腮红盒、眼影纸本、手工眼影本、眼影书本等叫法、纸质化妆品盒有优势。。。

    www.f58f.com
  • 免费信息发布_免费网址提交_免费供求信息_企业平台_企业资讯平台-咱的商务网免费信息发布_免费网址提交_免费供求信息_企业平台_企业资讯平台-咱的商务网

    咱的商务网是一个集企业平台、企业资讯、免费信息发布、免费网址提交,免费供求信息等频道于一体的互联网平台。 网站定位精确,服务专业、稳定,网站上线以后受到广大用户的良好反馈。 咱的商务网是企业间(B2B)电子商务信息沟通的桥梁。面向国内外供应商、采购商、贸易商、生产商提供产品信息服务。以会员的形式,面向中小型投资者提供各类型供求、合作、技术信息发布,并以其为基础,拓展企业信息库、产品信息库和相关的个性化服务。 为广大企业提供系统、丰富、全面、深入、及时的信息资讯、技术项目、市场信息、会展信息和人才信息等。 咱的商务网是倡导一站式服务理念的综合性信息服务平台,已成为企业、用户实现信息化和获取资讯的门户。 本网站免费注册会员、免费信息发布、网站免费收录、b2b信息发布平台、信息网站大全、商务信息网、免费收录网站、网址免费提交、供求信息发布。

    www.zandeb2b.com
  • beauty_manicures_pedicures | EverlastingBeautybeauty_manicures_pedicures | EverlastingBeauty

    Everlasting Beauty Co.,Ltdd offers beauty, manicure、pedicure, eyelashes, nail, nail art, nail supply, nail art tools, beauty tools etc. and we are an union team of professional manufacturers for beauty products located in Zhejiang Province China since 2003

    www.elbeautyhouse.com
  • 免费发布信息网站大全_大中国商业信息网免费发布信息网站大全_大中国商业信息网

    大中国商业信息网免费发布不限制条数,大中国商业信息网是一个可以免费发布分类信息的B2B平台。可免费发布您的产品信息!便捷免费的B2B供求信息发布平台

    www.greatcnb2b.com
  • 免费发布信息网站大全_大中华电子商务网免费发布信息网站大全_大中华电子商务网

    大中华电子商务网免费发布不限制条数,大中华电子商务网是一个可以免费发布分类信息的B2B平台。可免费发布您的产品信息!便捷免费的B2B供求信息发布平台

    www.greatercnb2b.com