用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 相关文章推荐
JS面向对象、prototype、call()、apply()
May 14 Javascript
js中浮点型运算BUG的解决方法说明
Jan 06 Javascript
原生javascript实现图片弹窗交互效果
Jan 12 Javascript
18个非常棒的jQuery代码片段
Nov 02 Javascript
JS判断元素是否在数组内的实现代码
Mar 30 Javascript
Javascript typeof与instanceof的区别
Oct 18 Javascript
Javascript 跨域知识详细介绍
Oct 30 Javascript
详解微信小程序开发之下拉刷新 上拉加载
Nov 24 Javascript
jQuery基于ajax方式实现用户名存在性检查功能示例
Feb 10 Javascript
vue+element创建动态的form表单及动态生成表格的行和列
May 20 Javascript
小程序api实现promise封装过程解析
Nov 21 Javascript
利用JavaScript模拟京东按键输入功能
Dec 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实现中文字符截取防乱码方法汇总
2015/04/29 PHP
php获取当前页面完整URL地址
2015/12/30 PHP
PHP错误提示It is not safe to rely on the system……的解决方法
2019/03/25 PHP
PHP实现单例模式建立数据库连接的方法分析
2020/02/11 PHP
js输出列表实现代码
2010/09/12 Javascript
基于json的jquery地区联动效果代码
2011/07/06 Javascript
利用JS进行图片的切换即特效展示图片
2013/12/03 Javascript
jQuery实现首页图片淡入淡出效果的方法
2015/06/10 Javascript
浅析四种常见的Javascript声明循环变量的书写方式
2015/10/14 Javascript
使用Chart.js图表库制作漂亮的响应式表单
2015/10/28 Javascript
AngularJS数据源的多种获取方式汇总
2016/02/02 Javascript
vue+axios实现登录拦截的实例代码
2017/05/22 Javascript
mongoose中利用populate处理嵌套的方法
2017/05/26 Javascript
js指定步长实现单方向匀速运动
2017/07/17 Javascript
vue项目中的webpack-dev-sever配置方法
2017/12/14 Javascript
VUE简单的定时器实时刷新的实现方法
2019/01/20 Javascript
layui表格内容溢出的解决方法
2019/09/06 Javascript
使用layui+ajax实现简单的菜单权限管理及排序的方法
2019/09/10 Javascript
Vue 实现html中根据类型显示内容
2019/10/28 Javascript
vue ajax 拦截原理与实现方法示例
2019/11/29 Javascript
js+canvas实现纸牌游戏
2020/03/16 Javascript
vue组件开发之slider组件使用详解
2020/08/21 Javascript
vue-cli脚手架的.babelrc文件用法说明
2020/09/11 Javascript
vue中解决chrome浏览器自动播放音频和MP3语音打包到线上的实现方法
2020/10/09 Javascript
如何搭建一个完整的Vue3.0+ts的项目步骤
2020/10/18 Javascript
Python 流程控制实例代码
2009/09/25 Python
Python3.6安装及引入Requests库的实现方法
2018/01/24 Python
python numpy中cumsum的用法详解
2019/10/17 Python
利用PyCharm操作Github(仓库新建、更新,代码回滚)
2019/12/18 Python
python实现将两个文件夹合并至另一个文件夹(制作数据集)
2020/04/03 Python
python中的列表和元组区别分析
2020/12/30 Python
HTML5混合开发二维码扫描以及调用本地摄像头
2017/12/27 HTML / CSS
Raffaello Network德国:意大利拉斐尔时尚购物网
2019/05/01 全球购物
怎样声明接口
2014/09/19 面试题
酒吧员工的岗位职责
2013/11/26 职场文书
求职简历中自我评价
2014/01/28 职场文书