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日

相关文章

  • 原生js实现移动开发轮播图、相册滑动特效

    实现移动开发轮播图、相册滑动特效的核心技术是原生JS实现手势识别和滑动控制。在实现前,需要明确以下几点: 滑动容器的尺寸及内部元素的数量 滑动方向和速度控制 原生JS实现手势识别技术 接下来,我将结合示例展开讲解: 示例一:移动轮播图 实现移动轮播图需要使用JS异步实现图片的加载和手势滑动的监听。以下是详细步骤: 第一步:布局 使用HTML布局画面容器及包含…

    css 2023年6月11日
    00
  • css如何让浮动元素水平居中

    以下是“CSS如何让浮动元素水平居中”的完整攻略: CSS如何让浮动元素水平居中 CSS可以通过多种方式让浮动元素水平居中,以下是实现水平居中的步骤: 设置浮动元素的宽度和高度。 设置浮动元素的左右外边距为“auto”。 设置浮动元素的父元素的文本对齐方式为“center”。 以下是两个示例说明: 示例1:使用文本对齐方式实现水平居中 假设一个用户需要让一个…

    css 2023年5月18日
    00
  • 网页变灰配合全国哀悼日的css代码 20100421

    首先,需要解释一下全国哀悼日的概念。全国哀悼日是指定日全国范围内举办的公共哀悼活动,以表达对特定人物或事件的纪念、悼念和敬意。在这个特殊的日子里,我们可以通过网页变灰的方式表达我们的悼念心情。 下面提供两条示例说明: 示例1:通过CSS代码实现网页变灰 在网页的<head>区域中引入CSS文件,然后添加以下CSS代码,可以实现网页变灰的效果。代码…

    css 2023年6月10日
    00
  • CSS怎么隐藏滚动条(三种方法)

    在 CSS 中,我们可以使用多种方法来隐藏滚动条,例如使用 overflow 属性、使用 ::-webkit-scrollbar 伪元素和使用 JavaScript。下面是完整攻略,包含了如何使用这三种方法隐藏滚动条的过程和两个示例说明。 CSS 怎么隐藏滚动条(三种方法) 方法一:使用 overflow 属性 我们可以使用 overflow 属性来隐藏滚动…

    css 2023年5月18日
    00
  • Bootstrap基本插件学习笔记之模态对话框(16)

    Bootstrap基本插件学习笔记之模态对话框(16) 什么是模态对话框? 模态对话框(Modal)是一个会阻止用户输入的对话框,通常用于展示用户必须操作或者必须知道的信息。当出现模态对话框时,用户必须先完成对话框中的操作才能继续其他操作。 Bootstrap的模态对话框 Bootstrap的模态对话框是一种轻量级的、模态的(即阻止用户进行其他操作)对话框,…

    css 2023年6月9日
    00
  • CSS 日期垂直排列的两种技巧

    当我们在网页设计中需要展示日期时,可能会遇到日期的垂直排列问题,本文将会讲解CSS的两种技巧可以解决这个问题。 技巧一:使用flexbox布局 使用flexbox布局可以在垂直方向上轻松的实现日期的垂直排列。我们可以将日期元素放在一个父元素中,设置父元素为flex布局,并将flex-direction设置为column(默认为row,即横向排列)。这种方式非…

    css 2023年6月9日
    00
  • 使用Div+CSS纯图片实现圆角矩形的方法小结

    对于该主题,“使用Div+CSS纯图片实现圆角矩形的方法小结”,我们需要分几个方面进行讲解: 理解圆角矩形的原理,确定页面需求; 基于需求,使用CSS设置对应的样式; 利用CSS Sprites技术实现纯图片圆角矩形; 在实际运用中优化处理。 下面就具体的讲一下。 圆角矩形的原理 圆角矩形是指矩形的四个边角被设计成圆弧的一种界面效果。实现圆角矩形的方法非常多…

    css 2023年6月10日
    00
  • 开启BootStrap学习之旅

    开启BootStrap学习之旅 1. 了解Bootstrap Bootstrap是一个开源的前端框架,由Twitter的前端工程师推出。它结合了HTML、CSS、JavaScript等多种技术,提供了一套强大的现代化网页模板和组件库,可以帮助我们快速构建漂亮、响应式的网页。 2. 下载并引入Bootstrap 去Bootstrap官网(https://get…

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