用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 08 Javascript
JavaScript常用对象的方法和属性小结
Jan 24 Javascript
js左侧三级菜单导航实例代码
Sep 13 Javascript
JavaScrip实现PHP print_r的数功能(三种方法)
Nov 12 Javascript
js封装可使用的构造函数继承用法分析
Jan 28 Javascript
js时钟翻牌效果实现代码分享
Jul 31 Javascript
websocket+node.js实现实时聊天系统问题咨询
May 17 Javascript
js轮播图无缝滚动效果
Jun 17 Javascript
bootstrap table服务端实现分页效果
Aug 10 Javascript
vue+swiper实现组件化开发的实例代码
Oct 26 Javascript
CKeditor4 字体颜色功能配置方法教程
Jun 26 Javascript
微信jssdk踩坑之签名错误invalid signature
May 19 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的慢速日志引起的Mysql错误问题分析
2014/05/13 PHP
php定义参数数量可变的函数用法实例
2015/03/16 PHP
php获取手机端的号码以及ip地址实例代码
2018/09/12 PHP
一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子
2009/05/21 Javascript
javascript GUID生成器实现代码
2009/10/31 Javascript
JavaScript 解析Json字符串的性能比较分析代码
2009/12/16 Javascript
上传的js验证(图片/文件的扩展名)
2013/04/25 Javascript
js文件Cookie存取值示例代码
2014/02/20 Javascript
使用jquery菜单插件HoverTree仿京东无限级菜单
2014/12/18 Javascript
Jquery api 速查表分享
2015/01/12 Javascript
jquery使用on绑定a标签无效 只能用live解决
2016/06/02 Javascript
JavaScript简单获取页面图片原始尺寸的方法
2016/06/21 Javascript
使用jQuery调用XML实现无刷新即时聊天
2016/08/07 Javascript
Vuejs第一篇之入门教程详解(单向绑定、双向绑定、列表渲染、响应函数)
2016/09/09 Javascript
Extjs表单输入框异步校验的插件实现方法
2017/03/20 Javascript
AngularJS中下拉框的基本用法示例
2017/10/11 Javascript
详解在WebStorm中添加Vue.js单文件组件的高亮及语法支持
2017/10/21 Javascript
巧妙运用v-model实现父子组件传值的方法示例
2019/04/07 Javascript
Vue keepAlive 数据缓存工具实现返回上一个页面浏览的位置
2019/05/10 Javascript
详解python selenium 爬取网易云音乐歌单名
2019/03/28 Python
Python使用numpy模块实现矩阵和列表的连接操作方法
2019/06/26 Python
Django Docker容器化部署之Django-Docker本地部署
2019/10/09 Python
Python-numpy实现灰度图像的分块和合并方式
2020/01/09 Python
Python 序列化和反序列化库 MarshMallow 的用法实例代码
2020/02/25 Python
python 偷懒技巧——使用 keyboard 录制键盘事件
2020/09/21 Python
重构Python代码的六个实例
2020/11/25 Python
python os.listdir()乱码解决方案
2021/01/31 Python
打印机墨盒:123Inkjets
2017/02/16 全球购物
数据库连接池的工作原理
2012/09/26 面试题
小学生国旗下演讲稿
2014/04/25 职场文书
酒店管理专业毕业生求职自荐信
2014/04/28 职场文书
祖国在我心中演讲稿400字
2014/05/04 职场文书
建设工地安全标语
2014/06/07 职场文书
群众路线班子对照检查材料
2014/09/25 职场文书
县政府领导班子四风问题对照检查材料思想汇报
2014/09/26 职场文书
大学生求职自荐信范文
2015/03/04 职场文书