用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 页面内容搜索,类似于 Ctrl+F功能的实现代码
Aug 13 Javascript
javascript动画之圆形运动,环绕鼠标运动作小球
Jul 20 Javascript
JS控制一个DIV层在指定时间内消失的方法
Feb 17 Javascript
JS 删除字符串最后一个字符的实现代码
Feb 20 Javascript
对于Form表单reset方法的新认识
Mar 05 Javascript
Js控制滑轮左右滑动实例
Feb 13 Javascript
JavaScript实现添加、查找、删除元素
Jul 02 Javascript
jQuery中(function($){})(jQuery)详解
Jul 15 Javascript
js实现对ajax请求面向对象的封装
Jan 08 Javascript
几句话带你理解JS中的this、闭包、原型链
Sep 26 Javascript
Javascript 编码约定(编码规范)
Mar 11 Javascript
vue.js配合$.post从后台获取数据简单demo分享
Aug 11 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异步:在php中使用fsockopen curl实现类似异步处理的功能方法
2016/12/10 PHP
mac os快速切换多个PHP版本的方法
2017/03/07 PHP
thinkPHP实现的省市区三级联动功能示例
2017/05/05 PHP
在线游戏大家来找茬II
2006/09/30 Javascript
IE下使用cloneNode注意事项分享
2012/11/22 Javascript
浅析js中取绝对值的2种方法
2013/07/09 Javascript
jQuery animate easing使用方法图文详解
2016/06/17 Javascript
jQuery的Cookie封装,与PHP交互的简单实现
2016/10/05 Javascript
JavaScript实现点击按钮复制指定区域文本(推荐)
2016/11/25 Javascript
Bootstrap基本组件学习笔记之列表组(11)
2016/12/07 Javascript
jQuery实现的分页功能示例
2017/01/22 Javascript
原生JS中slice()方法和splice()区别
2017/03/06 Javascript
JavaScript实现左右下拉框动态增删示例
2017/03/09 Javascript
浅谈Node.js 子进程与应用场景
2018/01/24 Javascript
详解VUE中常用的几种import(模块、文件)引入方式
2018/07/03 Javascript
layui之数据表格--与后台交互获取数据的方法
2019/09/29 Javascript
[02:12]打造更好的电竞完美世界:完美盛典回顾篇
2018/12/19 DOTA
python写xml文件的操作实例
2014/10/05 Python
Python的SimpleHTTPServer模块用处及使用方法简介
2018/01/22 Python
解决python3运行selenium下HTMLTestRunner报错的问题
2018/12/27 Python
Python初学者常见错误详解
2019/07/02 Python
python 并发编程 多路复用IO模型详解
2019/08/20 Python
Python&&GDAL实现NDVI的计算方式
2020/01/09 Python
Python对称的二叉树多种思路实现方法
2020/02/28 Python
使用keras内置的模型进行图片预测实例
2020/06/17 Python
详解anaconda离线安装pytorchGPU版
2020/09/08 Python
Nebula美国官网:便携式投影仪
2019/03/15 全球购物
工作会议方案
2014/05/21 职场文书
物流专业求职信
2014/06/30 职场文书
法人代表授权委托书范文
2014/09/10 职场文书
普通党员四风问题对照检查材料
2014/09/27 职场文书
质检员岗位职责
2015/02/03 职场文书
小兵张嘎观后感
2015/06/03 职场文书
节水宣传标语口号
2015/12/26 职场文书
Python爬虫之爬取某文库文档数据
2021/04/21 Python
java实现对Hadoop的操作
2021/07/01 Java/Android