用jquery等比例控制图片宽高的具体实现


Posted in Javascript onJanuary 28, 2014

核心代码:

$(function() { 
$(".dvcontent img").each(function() { 
var maxwidth = 520; 
if ($(this).width() > maxwidth) { 
var oldwidth = $(this).width(); 
var oldheight = $(this).height(); 
var newheight = maxwidth/oldwidth*oldheight; 
$(this).css({width:maxwidth+"px",height:newheight+"px",cursor:"pointer"}); 
$(this).attr("title","点击查看原图"); 
$(this).click(function(){window.open($(this).attr("src"))}); 
} 
}); 
});

如果上面的代码不能执行,可以使用下面的代码:

$(window).load(function() {
	$(".dvcontent img").each(function() { 
	var maxwidth = 600; 
	if ($(this).width() > maxwidth) { 
	var oldwidth = $(this).width(); 
	var oldheight = $(this).height(); 
	var newheight = maxwidth/oldwidth*oldheight; 
	$(this).css({width:maxwidth+"px",height:newheight+"px",cursor:"pointer"}); 
	$(this).attr("title","点击查看原图"); 
	$(this).click(function(){window.open($(this).attr("src"))}); 
	} 
	}); 
});

通过css还有一种方法兼容IE6能让图片在超过规定的宽度时自动按比例缩小,但该写法不符合W3C标准。代码如下:

.cate img{
    max-width: 600px; 
    height:auto; 
    width:expression(this.width > 600 ? "600px" : this.width);
 }

所以在做到尽量兼容IE和其他浏览器以及符合W3C的标准下就通过js来控制图片的宽度了,下面使用jquery控制图片显示时的最大宽度,主代码如下:

$(window).load(function() {
    $(".cate img").each(function() {
        var maxwidth = 600;
        if ($(this).width() > maxwidth) {
            $(this).width(maxwidth);
        }
    });
});

代码很简单,就是cate样式下的所以img的最大宽度只能为600px。.each(function(){......}),each在这里是对指定的图片集合对象逐一调用下面的方法。这种jquery方法在IE6及以上浏览器和chrome及Firefox上都能实现控制图片显示时的最大宽度。

Javascript 相关文章推荐
javascript中[]和{}对象使用介绍
Mar 20 Javascript
jQuery在iframe中无法弹出对话框的解决方法
Jan 12 Javascript
Linux下编译安装php libevent扩展实例
Feb 14 Javascript
Three.js学习之文字形状及自定义形状
Aug 01 Javascript
使用bootstraptable插件实现表格记录的查询、分页、排序操作
Aug 06 Javascript
element上传组件循环引用及简单时间倒计时的实现
Oct 01 Javascript
vue文件运行的方法教学
Feb 12 Javascript
Node.js之readline模块的使用详解
Mar 25 Javascript
JS实现的碰撞检测与周期移动完整示例
Sep 02 Javascript
JS实现的进制转换,浮点数相加,数字判断操作示例
Nov 09 Javascript
基于Element的组件改造的树形选择器(树形下拉框)
Feb 27 Javascript
在Vue 中实现循环渲染多个相同echarts图表
Jul 20 Javascript
jQuery实现当按下回车键时绑定点击事件
Jan 28 #Javascript
用js正确判断用户名cookie是否存在的方法
Jan 28 #Javascript
原生javascript实现无间缝滚动示例
Jan 28 #Javascript
IE、FF浏览器下修改标签透明度
Jan 28 #Javascript
纯css+js写的一个简单的tab标签页带样式
Jan 28 #Javascript
把字符串按照特定的字母顺序进行排序的js代码
Jan 28 #Javascript
js格式化金额可选是否带千分位以及保留精度
Jan 28 #Javascript
You might like
PHP+javascript模拟Matrix画面
2006/10/09 PHP
PHP数据缓存技术
2007/02/14 PHP
PHP Session_Regenerate_ID函数双释放内存破坏漏洞
2011/01/27 PHP
优化WordPress的Google字体以加速国内服务器上的运行
2015/11/24 PHP
php求斐波那契数的两种实现方式【递归与递推】
2019/09/09 PHP
使用JQuery进行跨域请求
2010/01/25 Javascript
基于jQuery的message插件实现右下角弹出消息框
2011/01/11 Javascript
JS继承 笔记
2011/07/13 Javascript
jquery获得下拉框值的代码
2011/08/13 Javascript
jQuery实现时尚漂亮的弹出式对话框实例
2015/08/07 Javascript
探讨JavaScript语句的执行过程
2016/01/28 Javascript
一种基于浏览器的自动小票机打印实现方案(js版)
2016/07/26 Javascript
微信小程序 rpx 尺寸单位详细介绍
2016/10/13 Javascript
文件上传插件SWFUpload的使用指南
2016/11/29 Javascript
Vue方法与事件处理器详解
2016/12/01 Javascript
angular2 ng build部署后base文件路径问题详细解答
2017/07/15 Javascript
使用ng-packagr打包Angular的方法示例
2018/09/21 Javascript
微信小程序实现组件顶端固定或底端固定效果(不随滚动而滚动)
2020/04/09 Javascript
react-native 实现购物车滑动删除效果的示例代码
2021/01/15 Javascript
使用Python脚本来控制Windows Azure的简单教程
2015/04/16 Python
Python读取word文本操作详解
2018/01/22 Python
python utc datetime转换为时间戳的方法
2019/01/15 Python
python中逻辑与或(and、or)和按位与或异或(&、|、^)区别
2020/08/05 Python
django有哪些好处和优点
2020/09/01 Python
python利用xlsxwriter模块 操作 Excel
2020/10/14 Python
解决python3.x安装numpy成功但import出错的问题
2020/11/17 Python
详解基于Facecognition+Opencv快速搭建人脸识别及跟踪应用
2021/01/21 Python
《云房子》教学反思
2014/04/20 职场文书
毕业生应聘求职信
2014/07/10 职场文书
文员试用期转正自我鉴定
2014/09/14 职场文书
庆祝三八妇女节标语
2014/10/09 职场文书
php中pcntl_fork详解
2021/04/01 PHP
HTML5简单实现添加背景音乐的几种方法
2021/05/12 HTML / CSS
Python中22个万用公式的小结
2021/07/21 Python
php png失真的原因及解决办法
2021/10/24 PHP
mysql实现将字符串字段转为数字排序或比大小
2022/06/14 MySQL