用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将Table导出到Excel实现思路及代码
Mar 13 Javascript
JS获取当前网址、主机地址项目根路径
Nov 19 Javascript
JavaScript匿名函数用法分析
Feb 13 Javascript
实例详解AngularJS实现无限级联动菜单
Jan 15 Javascript
纯js实现html转pdf的简单实例(推荐)
Feb 16 Javascript
Angular1.x自定义指令实例详解
Mar 01 Javascript
vue中post请求以a=a&b=b 的格式写遇到的问题
Apr 27 Javascript
详谈js的变量提升以及使用方法
Oct 06 Javascript
微信小程序使用npm包的方法步骤
Aug 13 Javascript
Vue中import from的来源及省略后缀与加载文件夹问题
Feb 09 Javascript
js实现小星星游戏
Mar 23 Javascript
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
Jun 06 jQuery
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入门速成教程
2007/03/19 PHP
php学习笔记(三)操作符与控制结构
2011/08/06 PHP
解析php中获取系统信息的方法
2013/06/25 PHP
php实现的百度搜索某地天气的小偷代码
2014/04/23 PHP
如何通过Linux命令行使用和运行PHP脚本
2015/07/29 PHP
FormValidate 表单验证功能代码更新并提供下载
2008/08/23 Javascript
慎用 somefunction.prototype 分析
2009/06/02 Javascript
使用js判断数组中是否包含某一元素(类似于php中的in_array())
2013/12/12 Javascript
JS 屏蔽按键效果与改变按键效果的示例代码
2013/12/24 Javascript
如何调试异步加载页面里包含的js文件
2014/10/30 Javascript
JS实现网页滚动条感应鼠标变色的方法
2015/02/26 Javascript
jquery分析文本里url或邮件地址为真实链接的方法
2015/06/20 Javascript
js仿百度切换皮肤功能(html+css)
2016/07/10 Javascript
jQuery窗口拖动功能的实现代码
2017/02/04 Javascript
Node.js读取文件内容示例
2017/03/07 Javascript
AngularJS实现自定义指令及指令配置项的方法
2017/11/20 Javascript
vue短信验证性能优化如何写入localstorage中
2018/04/25 Javascript
微信小程序提交form操作示例
2018/12/30 Javascript
C#程序员入门学习微信小程序的笔记
2019/03/05 Javascript
js原生map实现的方法总结
2020/01/19 Javascript
Vue关于组件化开发知识点详解
2020/05/13 Javascript
解决qrcode.js生成二维码时必须定义一个空div的问题
2020/07/09 Javascript
简单了解JavaScript作用域
2020/07/31 Javascript
jquery插件实现轮播图效果
2020/10/19 jQuery
如何在python字符串中输入纯粹的{}
2018/08/22 Python
Python 调用 zabbix api的方法示例
2019/01/06 Python
对Python信号处理模块signal详解
2019/01/09 Python
Python获取命令实时输出-原样彩色输出并返回输出结果的示例
2019/07/11 Python
Python跑循环时内存泄露的解决方法
2020/01/13 Python
使用Keras预训练好的模型进行目标类别预测详解
2020/06/27 Python
幼儿园教师培训制度
2014/01/16 职场文书
小学二年级学生评语
2014/04/21 职场文书
2014年党员教师自我剖析材料
2014/09/30 职场文书
2014年教育教学工作总结
2014/11/13 职场文书
go:垃圾回收GC触发条件详解
2021/04/24 Golang
Python实现Hash算法
2022/03/18 Python