用jquery控制图片的最大宽度
2016-03-21 11:10
681 查看
有时候我们在网页中插入图片,图片会被撑开外部的容器,溢出到外面。css中有一个属性为max-width,max-width 定义元素的最大宽度。W3C在其官方文档中说“所有主流浏览器都支持 max-width 属性。”扯淡,IE6就不支持该属性,图片照样被撑开。IE下,图片会直接把外框撑宽。所以,在做IE兼容的时候大家都用js控制,现在分享下使用jquery控制图片宽度的方法。
主代码如下:
代码不用解释,值得注意的是两个地方:
第一:$(window).load(function() {
声明事件的部分使用$(window).load,不能使用$(document).ready。我在百度和iteye网站看到有相关的文章,方法都是错误的。根本不起作用。
第二:$(".cont img").each( function()
这里是.each( function() { .... }),each在这里是对指定的图片集合对象逐一调用下面的方法。
这种方法兼容大部分的浏览器,效果也很便捷。
个人感觉这种方法比较顺手,另外,可以拓展为缩略图的控制方法。具体做法参考http://zww.me/archives/25474
主代码如下:
<script>$(window).load(function() { //容器内所有图片超过宽度等比例缩小,不能用$(document).ready( $(".ny_news_ct img").each( function() { var maxwidth = 670; var _height=parseInt($(this).height()/$(this).width()*670); //alert(_height); if ($(this).width() > maxwidth) { $(this).css("width",670+"px"); $(this).css("height",_height+"px"); } }); });</script>
代码不用解释,值得注意的是两个地方:
第一:$(window).load(function() {
声明事件的部分使用$(window).load,不能使用$(document).ready。我在百度和iteye网站看到有相关的文章,方法都是错误的。根本不起作用。
第二:$(".cont img").each( function()
这里是.each( function() { .... }),each在这里是对指定的图片集合对象逐一调用下面的方法。
这种方法兼容大部分的浏览器,效果也很便捷。
个人感觉这种方法比较顺手,另外,可以拓展为缩略图的控制方法。具体做法参考http://zww.me/archives/25474
相关文章推荐
- jQuery中的$(window).load()与$(document).ready()
- jquery.lazyloading图片延迟加载插件,通用
- jquery 判断图片加载完毕例子
- jquery中this与$(this)的用法区别.
- 简单的jquery tab切换代码
- jquery获得location的传值 和一些滚动效果243dede
- 用jquery实现滚动浏览器滚动条加载数据(类似于腾讯微博) [复制链接]
- jquery 滚动,或点击,加载文章
- innerHTML与jquery里的html()区别介绍
- Jquery下判断Id是否存在
- jquery中的$(function(){...})什么时候执行
- jquery让div中所有的a标签的target属性为“_blank”
- jquery 实现iframe 自适应高度
- jQuery - last-child 选择所有最后一个子元素 last最后一个元素
- $jquery.ajax 访问数据库 php html 等。
- jquery 选择奇偶行。
- JQuery中$.ajax()方法参数详解
- JQuery -- this 和 $(this) 的区别
- jquery css()方法
- jquery ajax 单击修改文档