请选择 进入手机版 | 继续访问电脑版

应天论坛

 找回密码
 参与我们

QQ登录

只需一步,快速开始

搜索
查看: 728|回复: 2

用jquery等比例控制图片宽高的具体实现

[复制链接]

276

主题

303

帖子

3187

积分

管理员

湘南小侠客

Rank: 9Rank: 9Rank: 9

积分
3187

优质服务勋章论坛元老

QQ
发表于 2017-10-7 22:16:18 | 显示全部楼层 |阅读模式
控制图片宽高的方法有很多,下面为大家介绍下使用jquery是如何实现的,感兴趣的朋友可以学习下
核心代码:
[mw_shl_code=javascript,true]$(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"))});
}
});
}); [/mw_shl_code]

如果上面的代码不能执行,可以使用下面的代码:
[mw_shl_code=javascript,true]$(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"))});
        }
        });
});[/mw_shl_code]

通过css还有一种方法兼容IE6能让图片在超过规定的宽度时自动按比例缩小,但该写法不符合W3C标准。代码如下:
[mw_shl_code=css,true].cate img{
    max-width: 600px;
    height:auto;
    width:expression(this.width > 600 ? "600px" : this.width);
}[/mw_shl_code]

所以在做到尽量兼容IE和其他浏览器以及符合W3C的标准下就通过js来控制图片的宽度了,下面使用jquery控制图片显示时的最大宽度,主代码如下:
[mw_shl_code=javascript,true]$(window).load(function() {
    $(".cate img").each(function() {
        var maxwidth = 600;
        if ($(this).width() > maxwidth) {
            $(this).width(maxwidth);
        }
    });
});[/mw_shl_code]

代码很简单,就是cate样式下的所以img的最大宽度只能为600px。.each(function(){......}),each在这里是对指定的图片集合对象逐一调用下面的方法。这种jquery方法在IE6及以上浏览器和chrome及Firefox上都能实现控制图片显示时的最大宽度。
每次见你穿短裤打领带,还穿个拖鞋,下次再这样穿不要从我家门口过了!
http://gsh.yzqz.cn/CassettePlayer/index.html

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 参与我们

本版积分规则

QQ|Archiver|手机版|小黑屋|应天社区 ( 湘ICP备17015224号 )

GMT+8, 2024-4-18 11:49 , Processed in 0.218749 second(s), 27 queries .

Powered by Discuz!

© 2001-2017 Comsenz Inc.


免责声明:
本站所发布的第三方软件及资源(包括但不仅限于文字/图片/音频/视频等仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢某程序或某个资源,请支持正版软件及版权方利益,注册或购买,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To: admin@yzqz.cn

快速回复 返回顶部 返回列表