用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 相关文章推荐
JQuery给元素绑定click事件多次执行的解决方法
May 29 Javascript
javascript实现简单的鼠标拖动效果实例
Apr 10 Javascript
JS实现选中当前菜单后高亮显示的导航条效果
Oct 15 Javascript
jQuery实用技巧必备(下)
Nov 03 Javascript
bootstrap实现弹窗和拖动效果
Jan 03 Javascript
基于JS脚本语言的基础语法详解
Jul 22 Javascript
JavaScript中的ES6 Proxy的具体使用
Jun 16 Javascript
深入解析koa之中间件流程控制
Jun 17 Javascript
jQuery实现放大镜案例
Oct 19 jQuery
javascript中layim之查找好友查找群组
Feb 06 Javascript
如何利用js在两个html窗口间通信
Apr 27 Javascript
让JavaScript代码更加精简的方法技巧
Jun 01 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编程过程中需要了解的this,self,parent的区别
2009/12/30 PHP
PHP连接SQLSERVER 注意事项(附dll文件下载)
2012/06/28 PHP
PHP JSON出错:Cannot use object of type stdClass as array解决方法
2014/08/16 PHP
PHP框架性能测试报告
2016/05/08 PHP
详解PHP编码转换函数应用技巧
2016/10/22 PHP
PHP实现的简单排列组合算法应用示例
2017/06/20 PHP
PHP preg_match实现正则表达式匹配功能【输出是否匹配及匹配值】
2017/07/19 PHP
解放web程序员的输入验证
2006/10/06 Javascript
jQuery EasyUI API 中文文档 搜索框
2011/09/29 Javascript
使用JS实现jQuery的addClass, removeClass, hasClass函数功能
2014/10/31 Javascript
javascript字符串与数组转换汇总
2015/05/26 Javascript
微信小程序 自己制作小组件实例详解
2016/12/22 Javascript
Web纯前端“旭日图”实现元素周期表
2017/03/10 Javascript
BootStrap中jQuery插件Carousel实现轮播广告效果
2017/03/27 jQuery
jQuery实现IE输入框完成placeholder标签功能的方法
2017/09/20 jQuery
js实现鼠标移动到图片产生遮罩效果
2017/10/21 Javascript
vue2.0 常用的 UI 库实例讲解
2017/12/12 Javascript
微信小程序实现弹出菜单
2018/07/19 Javascript
关于vue-cli 3配置打包优化要点(推荐)
2019/04/22 Javascript
微信小程序实现图片选择并预览功能
2019/07/25 Javascript
Vue+Node实现商品列表的分页、排序、筛选,添加购物车功能详解
2019/12/07 Javascript
python RabbitMQ 使用详细介绍(小结)
2018/11/08 Python
Linux下通过python获取本机ip方法示例
2019/09/06 Python
Python响应对象text属性乱码解决方案
2020/03/31 Python
Python接口开发实现步骤详解
2020/04/26 Python
详细分析Python可变对象和不可变对象
2020/07/09 Python
Django URL参数Template反向解析
2020/11/24 Python
python安装及变量名介绍详解
2020/12/12 Python
HTML5通过调用canvas对象的getContext()方法来获取绘图环境
2014/06/23 HTML / CSS
印度最大的酒店品牌网络:OYO Rooms
2016/07/24 全球购物
年会搞笑主持词串词
2014/03/24 职场文书
信电学院毕业生自荐书
2014/05/24 职场文书
网站出售协议书范文
2014/10/10 职场文书
2014年医院科室工作总结
2014/12/20 职场文书
感谢师恩主题班会
2015/08/17 职场文书
Spring Cloud Gateway去掉url前缀
2021/07/15 Java/Android