javascript 指定区域内图片等比例缩放实现代码 脚本之家整合版 原创

JavaScript 实现指定区域内图片等比例缩放可以使用如下代码:

function imgZoom(img,w,h) {
    if(img.width>w){
        img.height=(img.height*w)/ img.width;
        img.width=w;
    }
    if(img.height>h){
        img.width=(img.width*h)/ img.height;
        img.height=h;
    }
    return img;
}

该函数的参数分别为待缩放的图片、指定图片显示区域的宽和高。该函数先判断图片是否超过了指定区域,若超过了则按照比例缩小到指定区域内。该函数的返回值为缩放后的图片对象。

示例1:对单张图片进行等比例缩放

<!DOCTYPE html>
<html>
<head>
    <title>Javascript Img Zoom Demo</title>
    <script type="text/javascript"
            src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <style type="text/css">
        #box {
            width: 400px;
            height: 400px;
            border: 1px solid #000000;
            margin: 20px auto;
            overflow: hidden;
            position: relative;
        }

        #box img {
            position: absolute;
            left: -10000px;
            top: -10000px;
            max-width: none !important;
        }
    </style>
    <script type="text/javascript">
        $(function () {
            var img = new Image();
            img.src = 'sample.jpg';
            img.onload = function () {
                $('#box').append(imgZoom(img, 400, 400));
            }
        });

        function imgZoom(img,w,h) {
            if(img.width>w){
                img.height=(img.height*w)/ img.width;
                img.width=w;
            }
            if(img.height>h){
                img.width=(img.width*h)/ img.height;
                img.height=h;
            }
            return img;
        }
    </script>
</head>
<body>
<div id="box"></div>
</body>
</html>

该示例代码中实现了对一张图片进行等比例缩放并显示在指定的区域内。

示例2:对多张图片进行等比例缩放

<!DOCTYPE html>
<html>
<head>
    <title>Javascript Img Zoom Demo</title>
    <script type="text/javascript"
            src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <style type="text/css">
        .box {
            width: 200px;
            height: 200px;
            border: 1px solid #000000;
            margin: 20px;
            overflow: hidden;
            position: relative;
            float: left;
        }

        .box img {
            position: absolute;
            left: -10000px;
            top: -10000px;
            max-width: none !important;
        }
    </style>
    <script type="text/javascript">
        $(function () {
            var imgs = ['sample1.jpg', 'sample2.jpg', 'sample3.jpg', 'sample4.jpg'];
            for (var i = 0; i < imgs.length; i++) {
                var img = new Image();
                img.src = imgs[i];
                img.onload = function () {
                    $('.box').append(imgZoom(this, 200, 200));
                }
                $('.container').append('<div class="box"></div>');
            }
        });

        function imgZoom(img,w,h) {
            if(img.width>w){
                img.height=(img.height*w)/ img.width;
                img.width=w;
            }
            if(img.height>h){
                img.width=(img.width*h)/ img.height;
                img.height=h;
            }
            return img;
        }
    </script>
</head>
<body>
<div class="container"></div>
</body>
</html>

该示例代码中实现了对多张图片进行等比例缩放并显示在指定的区域内。通过循环加载多张图片,使用类似于示例1的代码实现对每张图片的缩放,并在容器中显示。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript 指定区域内图片等比例缩放实现代码 脚本之家整合版 原创 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • CSS完美解决前端图片变形问题的方法

    下面是“CSS完美解决前端图片变形问题的方法”的攻略。 1. 了解图片变形问题的原因 在前端开发中,图片变形问题经常出现,主要原因有以下几点: 图片尺寸:如果图片尺寸与显示区域的尺寸不匹配,会导致图片变形。 图片样式:如果给图片添加了不合适的样式,例如宽度、高度等属性设置不当,也会导致图片变形。 图片显示区域:如果图片显示区域本身就存在变形(例如宽度与高度比…

    css 2023年6月10日
    00
  • 详解八种方法实现CSS页面底部固定

    我很乐意为您讲解“详解八种方法实现CSS页面底部固定”的完整攻略。 详解八种方法实现CSS页面底部固定 在开发网页时,经常会遇到需要将底部固定在页面底部的需求。下面介绍八种CSS方法可以实现底部固定的效果。 方法1:使用绝对定位 这是最简单的一种方法,只需设置底部的样式为绝对定位,距离底部为0即可。 footer{ position: absolute; b…

    css 2023年6月9日
    00
  • h5页面背景图很长要有滚动条滑动效果的实现

    针对“h5页面背景图很长要有滚动条滑动效果的实现”,我们可以采用以下步骤: 步骤一:设置页面背景图 首先,在HTML文件中设置背景图。这可以通过在CSS文件中添加以下代码实现: body { background-image: url("/images/background.jpg"); /* 用具体的图片路径替换"/image…

    css 2023年6月10日
    00
  • JSChart轻量级图形报表工具(内置函数中文参考)

    JSChart是一款轻量级的图形报表工具,支持直线图、饼状图、柱状图等多种图表类型,并且提供了丰富的配置选项,使用户能够灵活地定制图表样式。 JSChart的安装与引用 JSChart支持直接下载文件并引入到项目中,或者使用npm进行安装。 <!– 引入JSChart文件 –> <script src="jschart.js&…

    css 2023年6月10日
    00
  • 详解coreldraw x8新功能

    详解CorelDRAW X8新功能 CorelDRAW X8是一款强大的平面设计软件,它集成了许多新功能,使用户能够更快速、更高效地进行设计工作。以下将详细讲解CorelDRAW X8的新功能及其使用方法。 切割工具 在CorelDRAW X8中,新增加了一个强大的切割工具,可以让用户根据图形进行精确的切割。其具体使用方法如下: 选择要进行切割的图形。 点击…

    css 2023年6月10日
    00
  • JavaScript实现div的鼠标拖拽效果

    对于 “JavaScript实现div的鼠标拖拽效果” 这个问题,我将分为以下几个部分来进行详细讲解: 实现思路 相关API及代码示例 注意事项和遇到的问题及解决方法 1. 实现思路 实现鼠标拖拽的原理是:当鼠标在可拖拽元素上按下时,我们需要记录下相应的鼠标位置以及元素的位置信息,并在后续鼠标移动时进行计算,以实现元素跟随鼠标移动的效果,然后在鼠标抬起时,停…

    css 2023年6月10日
    00
  • 微信小程序使用uni-app实现首页搜索框导航栏功能详解

    下面是“微信小程序使用uni-app实现首页搜索框导航栏功能详解”的完整攻略。 前言 本攻略介绍了如何在微信小程序中使用uni-app框架实现首页搜索框导航栏功能。其中,搜索框和导航栏都是uni-app提供的基础组件,通过二次开发和调整可以实现需要的效果。本攻略分为以下几个步骤: 创建uni-app项目 修改App.vue 创建searchBar.vue组件…

    css 2023年6月10日
    00
  • IE8开发人员工具的菜单讲解

    让我来为您介绍一下IE8开发人员工具的菜单讲解。 1. 如何打开IE8开发人员工具 在IE8浏览器中,切换到要调试的页面,然后按下键盘上的F12键,即可打开IE8开发人员工具。 2. 菜单栏讲解 IE8开发人员工具菜单栏一般分为以下几个部分: 2.1 文件菜单 文件菜单用于在IE8开发人员工具中打开文件,可以在其中选择打开本地文件,或者在页面中选择到远程文件…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部