用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 相关文章推荐
node.js中的fs.writeFileSync方法使用说明
Dec 14 Javascript
Javascript中数组sort和reverse用法分析
Dec 30 Javascript
jquery表单验证插件(jquery.validate.js)的3种使用方式
Mar 28 Javascript
jQuery遍历DOM元素与节点方法详解
Apr 14 Javascript
深入浅析knockout源码分析之订阅
Jul 12 Javascript
微信公众号-获取用户信息(网页授权获取)实现步骤
Oct 21 Javascript
浅谈在fetch方法中添加header后遇到的预检请求问题
Aug 31 Javascript
关于redux-saga中take使用方法详解
Feb 27 Javascript
vue 搭建后台系统模块化开发详解
May 01 Javascript
React精髓!一篇全概括小结(急速)
May 23 Javascript
JavaScript, select标签元素左右移动功能实现
May 14 Javascript
Angular性能优化之第三方组件和懒加载技术
May 10 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下打开URL地址的几种方法小结
2010/05/16 PHP
PHP开发中的错误收集,不定期更新。
2011/02/03 PHP
PHP的cURL库功能简介 抓取网页、POST数据及其他
2011/04/07 PHP
php获取网页里所有图片并存入数组的方法
2015/04/06 PHP
详解将数据从Laravel传送到vue的四种方式
2019/10/16 PHP
JavaScipt基本教程之JavaScript语言的基础
2008/01/16 Javascript
打豆豆小游戏 用javascript编写的[打豆豆]小游戏
2013/01/08 Javascript
jquery操作cookie插件分享
2014/01/14 Javascript
jQuery中val()方法用法实例
2014/12/25 Javascript
jquery SweetAlert插件实现响应式提示框
2015/08/18 Javascript
基于Jquery和CSS3制作数字时钟附源码下载(CSS3篇)
2015/11/24 Javascript
微信小程序-图片、录音、音频播放、音乐播放、视频、文件代码实例
2016/11/22 Javascript
基于Bootstrap框架菜鸟入门教程(推荐)
2017/09/17 Javascript
JavaScript数据结构之双向链表定义与使用方法示例
2017/10/27 Javascript
微信网页授权并获取用户信息的方法
2018/07/30 Javascript
vue.js与后台数据交互的实例讲解
2018/08/08 Javascript
微信小程序利用swiper+css实现购物车商品删除功能
2019/03/06 Javascript
mpvue全局引入sass文件的方法步骤
2019/03/06 Javascript
JavaScript基于SVG的图片切换效果实例代码
2020/12/15 Javascript
把MySQL表结构映射为Python中的对象的教程
2015/04/07 Python
python实现自动重启本程序的方法
2015/07/09 Python
Python解析json文件相关知识学习
2016/03/01 Python
Python中.py文件打包成exe可执行文件详解
2017/03/22 Python
python 读取摄像头数据并保存的实例
2018/08/03 Python
Python基于OpenCV库Adaboost实现人脸识别功能详解
2018/08/25 Python
python爬虫容易学吗
2020/06/02 Python
如何在 Matplotlib 中更改绘图背景的实现
2020/11/26 Python
HTML5 video循环播放多个视频的方法步骤
2020/08/06 HTML / CSS
英国露营设备和户外服装购物网站:Simply Hike
2019/05/05 全球购物
运动鞋、街头服装、手表和手袋的实时市场:StockX
2020/11/25 全球购物
《邮票齿孔的故事》教学反思
2014/02/22 职场文书
财务科科长岗位职责
2014/03/10 职场文书
应聘护士求职信
2014/07/21 职场文书
毕业班班主任工作总结2015
2015/07/23 职场文书
python 判断文件或文件夹是否存在
2022/03/18 Python
Java完整实现记事本代码
2022/06/16 Java/Android