MAIBILAI

javascript - jQuery 调整大小以适应纵横比

coder 2024-05-09

我如何将 jQuery 中的图像调整为一致的纵横比。例如设置最大高度并正确调整宽度。谢谢。

最佳答案

这是一个有用的函数,可以满足您的需求:

jQuery.fn.fitToParent = function()
{
    this.each(function()
    {
        var width  = $(this).width();
        var height = $(this).height();
        var parentWidth  = $(this).parent().width();
        var parentHeight = $(this).parent().height();

        if(width/parentWidth < height/parentHeight) {
            newWidth  = parentWidth;
            newHeight = newWidth/width*height;
        }
        else {
            newHeight = parentHeight;
            newWidth  = newHeight/height*width;
        }
        var margin_top  = (parentHeight - newHeight) / 2;
        var margin_left = (parentWidth  - newWidth ) / 2;

        $(this).css({'margin-top' :margin_top  + 'px',
                     'margin-left':margin_left + 'px',
                     'height'     :newHeight   + 'px',
                     'width'      :newWidth    + 'px'});
    });
};

基本上,它会抓取一个元素,将其置于父元素的中心,然后将其拉伸(stretch)以适应父元素的背景不可见,同时保持宽高比。

话又说回来,这可能不是你想要做的。

关于javascript - jQuery 调整大小以适应纵横比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1682495/

有关javascript - jQuery 调整大小以适应纵横比的更多相关文章

  1. c# - 下载前检查下载大小 - 2

    我需要一些方法来检查下载的大小,而不必下载整个文件。我正在使用C#和System.Net.WebClient进行下载。检查需要在asp.net网络服务中运行。谢谢 最佳答案 使用HTTP方法HEAD检索Content-Length:header。HEAD/HTTP/1.1Host:www.example.comHTTP/1.1200OKDate:Wed,18Mar200911:21:51GMTServer:Apache/2.2.3(CentOS)Last-Modified:Tue,15Nov200513:24:10GMTETag:&

  2. c# - 超出存储分配。服务器响应为 : 4. 3.1 消息大小超过固定的最大消息大小 - 2

    我正在使用SMTP客户端发送带附件的邮件。当附件大于2mb时,我收到以下错误:**“超出存储分配。服务器响应为:4.3.1消息大小超过固定的最大消息大小”。**1)我可以使用附件大小>2mb的smtpclient发送电子邮件**吗?**如果是,附件的限制是多少。2)如何修复上述错误?如果你有解决方案,请给我一个想法。 最佳答案 现代SMTP邮件服务器有一个配置变量来设置允许的最大邮件大小。这定义了邮件服务器将在单个消息中接受的最大数据量。如果您尝试发送更大的消息,服务器将拒绝它。但是,您有很多选择:压缩附件以减小其大小(例如使用zi

  3. c# - Json.NET 的 Pascal 大小写动态属性 - 2

    这是我的:usingNewtonsoft.Json;varjson="{\"someProperty\":\"somevalue\"}";dynamicdeserialized=JsonConvert.DeserializeObject(json);这很好用:Assert.That(deserialized.someProperty.ToString(),Is.EqualTo("somevalue"));我希望它在不更改json的情况下工作(属性的第一个字母大写):Assert.That(deserialized.Some

  4. c# - 如何像这个程序一样在 Windows 中覆盖最大 32x32 鼠标大小 - 2

    我希望我的程序能够覆盖32x32的最大鼠标尺寸,就像附图中的程序一样,图中的光标是72x72。这是来自ProcMon的捕获,显示了光标更改时发生的情况。但是,如果我尝试自己更改游标文件的注册表值,然后使用推送更改SystemParametersInfo(SPI.SPI_SETCURSORS,0,IntPtr.Zero,SPIF.SPIF_SENDCHANGE);然后光标会改变,但它仍然限制在32x32的最大尺寸。这个程序是如何绕过这个限制的?此外,光标在程序结束后仍然存在,因此它不能在运行时执行某些操作,但必须覆盖某处的设置。谢谢你的帮助,我在网上找不到这样的东西,所以我什至不知道是否

  5. c# - ListView 调整列大小性能问题(分组) - 2

    我遇到了ListView的主要性能问题每当我实现分组时。我找到了somewhatsimilarquestions在StackOverflow上,但似乎没有任何帮助!这是我目前的情况(我已经简化了我的项目,所以噪音更少):我有一个ContentControl用ListView作为child。ListView绑定(bind)到ObservableCollection,最初是空的。随着时间的流逝,对象被添加到集合中(在本例中,使用DispatcherTimer每10秒添加500个项目)。ObservableCollection的大小会有所不同,但该系列最终可能会超过25,000件。当Obse

  6. c# - 如何将图片调整为特定的文件大小? - 2

    我想将图片调整为特定的文件大小。例如,不超过200KB。使用C#.NET实现此目的的最佳方法是什么?谢谢! 最佳答案 如果您考虑一下,直到调整大小后您才会知道图像的文件大小。因此,您要么必须执行连续的尝试迭代并在之后比较文件大小,要么您可以更改约束以将图像限制为一组特定的高度和宽度尺寸。 关于c#-如何将图片调整为特定的文件大小?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2

  7. c# - 使用对比度传递函数调整相机模块焦点 - 2

    目前正在设计手机摄像头模组的测试程序。我正在尝试控制一个精密电机来调整相机的聚焦镜筒以获得最佳聚焦点。我一直在寻找对比度传递函数的算法,但到目前为止我能找到的只是数学公式。有没有人尝试过实现CTF? 最佳答案 是checkthisone,它对显微镜照片执行CTF 关于c#-使用对比度传递函数调整相机模块焦点,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6171693/

  8. c# - 在高 DPI 设置下调整 RichTextBox 字体大小 - 2

    我的C#应用程序包括带有简单文本框和富文本框的网格。富文本框通常包含从其他地方复制和粘贴的富文本,而rtf标记通常包含硬编码的字体大小(\fsXX,XX半磅)。在大多数情况下,富文本字体大小与简单文本字体大小相同或接近。当DPI缩放比例设置为默认值96以外的任何值时,富文本将扭曲如下:a)当应用程序未设置为DPI感知时,富文本显示为小于简单文本且模糊。b)当应用程序设置为DPI感知时,富文本比简单文本大。除了直接编辑标记之外,是否有允许或强制富文本随简单文本缩放的方法? 最佳答案 尝试将其属性WordWrap设置为true。

  9. c# - 调整右下角的无边框窗口 - 2

    我希望用户可以调整右下角的无边框窗口的大小,就像我可以调整组合框控件的自动完成窗口的大小一样。我找不到以这种方式配置表单的属性。也许有人可以帮我解决这个问题。图片可以在这里找到: 最佳答案 这是与Franci的解释相对应的代码,我正在写它,但他同时回答了,所以请投票支持他的解释,如果这段代码适合您的需要,那很好。protectedoverridevoidWndProc(refMessagem){constintwmNcHitTest=0x84;constinthtBottomLeft=16;constinthtBottomRight

  10. c# - 如何在 C# 中获取目录大小(目录中的文件)? - 2

    我希望能够使用C#获取其中一个本地目录的大小。我试图避免以下(伪类代码),尽管在最坏的情况下我将不得不解决这个问题:intGetSize(Directory){intSize=0;foreach(FileinDirectory){FileInfofInfoofFile;Size+=fInfo.Size;}foreach(SubDirectoryinDirectory){Size+=GetSize(SubDirectory);}returnSize;}基本上,是否有可用的Walk()以便我可以遍历目录树?这将节省遍历每个子目录的递归。 最佳答案

随机推荐

  1. c# - EF中的跨数据库查询 - 2

    EntityFramework中有什么方法可以实现跨数据库查询吗?假设我有两个实体User和Post,User实体在database1中,而Post在database2中,这意味着这些实体在不同的数据库中。我应该如何在EntityFramework中获取用户的帖子? 最佳答案 我知道这是一个老问题,但这实际上是可能的。如果数据库位于同一台服务器上,那么您需要做的就是使用DbCommandInterceptor。例如,如果我将DbCommandInterceptor附加到MyContext,我可以拦截所有命令执行并将查询中的指定表替换

  2. asp.net - Visual Studio 2010 工具箱控件已禁用 - 2

    ASP.NET应用程序开发(设计模式或源代码)中的VS2010工具箱未显示所有控件(显示HTML和报告控件),我可以通过右键单击(显示全部)看到所有控件,但它们变灰或不活跃。我在VS命令行中使用devnev.exe重置,重装VS,删除了C:\Users\Ramzan\AppData\Local\Microsoft\中的四个隐藏文件VisualStudio\10.0扩展名为.tbd,一切都是徒劳的。这件事让我发疯。我有另一台机器,那里一切正常。非常感谢任何帮助。 最佳答案 不知道这是否适用;但是我禁用了工具箱中的所有控件;你可以看到它

  3. c# - 为什么我不能显式地将 int 转换为字符串? - 2

    如果我尝试这样做是行不通的:staticvoidMain(string[]args){inta=5000;Console.WriteLine((string)a);}但不知何故这工作正常:staticvoidMain(string[]args){inta=5000;Console.WriteLine(a+"");}这是为什么呢?是因为第一个尝试更改基类型而第二个只是将值附加到字符串吗? 最佳答案 int无法转换为string(1),但有一个运算符+接受int作为左手参数和string作为右手参数(2)。此运算符将in

  4. c# - 从数组转换为 ICollection<T> - 2

    在C#中实现此目的的最佳方法是什么? 最佳答案 T的数组可分配给T的ICollection,因为T的数组实现了T的IList。T的IList本身扩展了T的ICollection,因此您可以简单地将数组分配给ICollection。classFoo{}Foo[]foos=newFoo[12];ICollection<Foo>foo_collection=foos; 关于c#-从数组转换为ICollection<T>,我们在StackOverflow上找到一个类似的问

  5. c# - 递归调用返回一个列表,返回类型导致我出现问题 - 2

    我有一个返回类别并检查其子类别的递归方法。这是我的代码:publicList<Category>GetAllChildCats(intcategoryid){List<Category>list=newList<Category>();Categoryc=Get(categoryid);foreach(Categorycatinc.ChildCategories){list.Add(GetAllChildCats(cat.CategoryID));}}失败是因为调用了list.Add()期望一个Category对象,但是GetAllChildCats

  6. c# - 如何让所有静态文件如css/images/js文件不被asp.net mvc处理? - 2

    有没有可能是静态文件不被asp.netmvc引擎处理?我可以在IIS级别或其他级别执行此操作吗?(当然无需为静态文件创建单独的IIS网站) 最佳答案 您需要为不想通过ASP.NETMVC提供服务的特定类型的文件创建忽略路由。将以下内容添加到您的路由中,用于您要忽略的文件类型。以下适用于根目录中的文件:routes.IgnoreRoute("{file}.css");routes.IgnoreRoute("{file}.jpg");routes.IgnoreRoute("{file}.gif&#

  7. C# 在写入磁盘之前加密序列化文件 - 2

    假设我的程序有一个名为“customer”的类,并且该客户类是可序列化的,因此我可以读取它并将其写入磁盘。客户类包含我想要加密的敏感信息,我知道我可以保证文件安全的唯一方法是:1-Serializethefiletodisk2-Reopenandloadthefile3-Encryptthefile4-Rewritefiletodisk这可行,但存在文件在未加密状态下可能被拦截的风险,而且效率非常低。相反,我想:1-Createfileinmemory2-Encryptfileinmemory3-Writeencryptedfiletodisk这可能吗?如果是怎么办?提前致谢。

  8. c# - 在 LINQ 查询 'if' 语句中实现条件 'where' 语句 - 2

    我正在尝试找出一种在我的数据模型中查询对象的方法,并且只包含那些不为空的参数。如下所示:publicList<Widget>GetWidgets(stringcond1,stringcond2,stringcond3){MyDataContextdb=newMyDataContext();List<Widget>widgets=(fromwindb.Widgetswhere...ifcond1!=nullw.condition1==cond1......ifcond2!=nullw.condition2==cond2......ifcond3!=nullw.co

  9. c# - 如何检索目录中的所有文件名? - 2

    如何检索目录中与某个模式匹配的所有文件名?我试过了,但它返回完整路径而不是文件名。Directory.GetFiles(path,"*.txt")我是否必须手动裁剪结果中的目录路径?这很简单,但也许有更简单的解决方案:) 最佳答案 foreach(stringsinDirectory.GetFiles(path,"*.txt").Select(Path.GetFileName))Console.WriteLine(s); 关于c#-如何检索目录中的所有文件

  10. c# - 隐藏和显示 TableLayoutPanel 的单元格 - 2

    我的表格布局面板有一列三行。(一个停靠到每个单元格中的“填充”面板。)现在我希望能够隐藏/显示行。我希望任何时候都只显示一行(基于用户对某些单选按钮的选择)并且我想调整大小以使其填充TableLayoutPanel的所有区域。我该怎么做?有什么想法吗? 最佳答案 如果您的TableLayoutPanel中的行是自动调整大小的,那么隐藏内容面板也会隐藏放置面板的单元格。 关于c#-隐藏和显示TableLayoutPanel的单元格,我们在StackOverflow上找到一个类似的问题: