首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调整窗口大小时修改图像大小(jQuery)

问调整窗口大小时修改图像大小(jQuery)
EN

Stack Overflow用户
提问于 2014-01-15 18:25:26
回答 1查看 13.5K关注 0票数 3

当页面加载和浏览器调整大小时,我尝试调整图像的大小。有些图像是纵向的,有些是横向的,它们将放在容器div中,该div也可以是纵向/横向的(取决于浏览器大小)。图像是否应该被拉伸以填满方框( 100%宽或100%高)并不重要,如果比例不匹配,则会发生裁剪(通过CSS overflow:hidden)。

我的方法是获得容器盒的比例(即纵向或横向),并获得图像比例(纵向或横向),比较它们,并相应地调整CSS的宽度/高度。

注意:所有的容器都有一个mr_our-dest-img-container类,并且都只包含一个img元素(和一些不同的元素)。

这是我的代码,它不能工作。它什么也做不了,我也搞不懂。有人能帮我解决这个问题吗?

代码语言:javascript
复制
$(document).ready(function () {
    updateImageSize();
    $(window).resize(function() {
        updateImageSize();
    });
});

function updateImageSize() {
    $(".mr_our-dest-img-container").each(function(){
        var ratio_cont = jQuery(this).width()/jQuery(this).height();
        var $img = jQuery(this).find("img");
        var ratio_img = $img.width()/$img.height();
        if (ratio_cont > ratio_img)
        {
            $img.css({"width": "100%", "height": "auto"});
        }
        else if (ratio_cont < ratio_img)
        {
            $img.css({"width": "auto", "height": "100%"});
        }
    }
};
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-15 19:59:22

正如控制台所说,这是一个语法错误。在each函数结束后,您会错过一个)。

代码语言:javascript
复制
function updateImageSize() {
    $(".mr_our-dest-img-container").each(function(){
        var ratio_cont = jQuery(this).width()/jQuery(this).height();
        var $img = jQuery(this).find("img");
        var ratio_img = $img.width()/$img.height();
        if (ratio_cont > ratio_img)
        {
            $img.css({"width": "100%", "height": "auto"});
        }
        else if (ratio_cont < ratio_img)
        {
            $img.css({"width": "auto", "height": "100%"});
        }
    }); //missing )
};
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21134853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档