用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实现Sleep函数的代码
Mar 04 Javascript
JQuery 插件模板 制作jquery插件的朋友可以参考下
Mar 17 Javascript
基于jquery的$.ajax async使用
Oct 19 Javascript
jquery默认校验规则整理
Mar 24 Javascript
浅谈JavaScript实现面向对象中的类
Dec 09 Javascript
js验证真实姓名与身份证号是否匹配
Oct 13 Javascript
为你的微信小程序体积瘦身详解
May 20 Javascript
Nuxt.js实战详解
Jan 18 Javascript
node实现的爬虫功能示例
May 04 Javascript
vue 监听键盘回车事件详解 @keyup.enter || @keyup.enter.native
Aug 25 Javascript
js实现前面自动补全位数的方法
Oct 10 Javascript
js实现的在本地预览图片功能示例
Nov 09 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递归列出所有文件和目录的代码
2008/09/10 PHP
学习php笔记 字符串处理
2010/10/19 PHP
解析PHP正则提取或替换img标记属性
2013/06/26 PHP
php随机获取金山词霸每日一句的方法
2015/07/09 PHP
yii2.0数据库迁移教程【多个数据库同时同步数据】
2016/10/08 PHP
利用php做服务器和web前端的界面进行交互
2016/10/31 PHP
Yii框架实现记录日志到自定义文件的方法
2017/05/23 PHP
laravel 解决paginate查询多个字段报错的问题
2019/10/22 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
javascript 控制 html元素 显示/隐藏实现代码
2009/09/01 Javascript
js鼠标左右键 键盘值小结
2010/06/11 Javascript
jQuery代码优化 选择符篇
2011/11/01 Javascript
使用CSS样式position:fixed水平滚动的方法
2014/02/19 Javascript
详解JavaScript中setSeconds()方法的使用
2015/06/11 Javascript
javascript实现在线客服效果
2015/07/15 Javascript
TypeOf这些知识点你了解吗
2016/02/21 Javascript
Javascript操作表单实例讲解(下)
2016/06/20 Javascript
React Native验证码倒计时工具类分享
2017/10/24 Javascript
vue2 前端搜索实现示例
2018/02/26 Javascript
vue.js实现带日期星期的数字时钟功能示例
2018/08/28 Javascript
Node 模块原理与用法详解
2020/05/13 Javascript
[01:03:27]NAVI vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python函数参数操作详解
2018/08/03 Python
python pandas消除空值和空格以及 Nan数据替换方法
2018/10/30 Python
Python实现的序列化和反序列化二叉树算法示例
2019/03/02 Python
解决pycharm运行程序出现卡住scanning files to index索引的问题
2019/06/27 Python
python构建指数平滑预测模型示例
2019/11/21 Python
浅谈对python中if、elif、else的误解
2020/08/20 Python
100%法国制造的游戏和玩具:Les Jouets Français
2021/03/02 全球购物
.net面试题
2015/12/22 面试题
.NET程序员的几道面试题
2012/06/01 面试题
营业员演讲稿
2013/12/30 职场文书
庆八一活动方案
2014/01/25 职场文书
pytorch中的model=model.to(device)使用说明
2021/05/24 Python
Flask使用SQLAlchemy实现持久化数据
2021/07/16 Python
光之国的四大叛徒:第一贝利亚导致宇宙毁灭,赛文奥特曼在榜
2022/03/18 日漫