用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 密码强度验证(兼容IE,火狐,谷歌)
Mar 15 Javascript
jquery+ajax每秒向后台发送请求数据然后返回页面的代码
Jan 17 Javascript
javascript温习的一些笔记 基础常用知识小结
Jun 22 Javascript
纯js实现div内图片自适应大小(已测试,兼容火狐)
Jun 16 Javascript
移动端横屏的JS代码(beta)
May 16 Javascript
JS从数组中随机取出几个数组元素的方法
Aug 02 Javascript
xtemplate node.js 的使用方法实例解析
Aug 22 Javascript
微信小程序入门教程
Nov 18 Javascript
bootstrap表格分页实例讲解
Dec 30 Javascript
vue 组件销毁并重置的实现
Jan 13 Javascript
Ajax实现局部刷新的方法实例
Mar 31 Javascript
vue-cli3.0修改打包后的文件名和文件地址,打包后本地运行报错解决
Apr 06 Vue.js
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 Static关键字实用方法
2010/06/04 PHP
PHP将DateTime对象转化为友好时间显示的实现代码
2011/09/20 PHP
解析关于java,php以及html的所有文件编码与乱码的处理方法汇总
2013/06/24 PHP
PHP英文字母大小写转换函数小结
2014/05/03 PHP
php实现无限级分类
2014/12/24 PHP
实例讲解php实现多线程
2019/01/27 PHP
thinkphp3.2框架中where条件查询用法总结
2019/08/13 PHP
ThinkPHP5.1验证码功能实现的示例代码
2020/06/08 PHP
javascript 窗口加载蒙板 内嵌网页内容
2010/11/19 Javascript
JQuery中dataGrid设置行的高度示例代码
2014/01/03 Javascript
jquery新的绑定事件机制on方法的使用方法
2014/04/15 Javascript
javascript中with()方法的语法格式及使用
2014/08/04 Javascript
jquery mobile页面跳转后样式丢失js失效的解决方法
2014/09/06 Javascript
JQuery validate插件验证用户注册信息
2016/05/11 Javascript
深入理解ES6的迭代器与生成器
2017/08/19 Javascript
Vue前后端不同端口的实现方法
2018/09/19 Javascript
Vue侦测相关api的实现方法
2019/05/22 Javascript
layer关闭当前窗口页面以及确认取消按钮的方法
2019/09/09 Javascript
[03:46]显微镜下的DOTA2第七期——满血与残血
2014/06/20 DOTA
由浅入深讲解python中的yield与generator
2017/04/05 Python
python模块smtplib实现纯文本邮件发送功能
2018/05/22 Python
Python延时操作实现方法示例
2018/08/14 Python
12个Python程序员面试必备问题与答案(小结)
2019/06/24 Python
flask框架单元测试原理与用法实例分析
2019/07/23 Python
使用Python制作缩放自如的圣诞老人(圣诞树)
2019/12/25 Python
python颜色随机生成器的实例代码
2020/01/10 Python
Python实现一个简单的毕业生信息管理系统的示例代码
2020/06/08 Python
CSS3中利用animation属性创建雪花飘落特效
2014/05/14 HTML / CSS
canvas之万花筒效果的简单实现(推荐)
2016/08/16 HTML / CSS
HTML5学习心得总结(推荐)
2016/07/08 HTML / CSS
应届生会计求职信
2013/11/11 职场文书
2014年新生军训方案
2014/05/01 职场文书
上班迟到检讨书
2014/09/15 职场文书
乡镇务虚会发言材料
2014/10/20 职场文书
GoLang中生成UUID唯一标识的实现
2021/05/08 Golang
JavaScript parseInt0.0000005打印5原理解析
2022/07/23 Javascript