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 半透明度设置归纳总结[Firefox,IE,Chrome,Safari]

    CSS半透明度设置归纳总结 CSS 半透明度设置是常见的网页美化技巧之一,它可以让元素的背景色更加柔和、透明。在各种 Web 浏览器中,半透明度设置方式有所不同,本文将介绍如何在常用浏览器中设置半透明度。 1. 使用 opacity 属性 在 Firefox、IE、Chrome、Safari 中,使用 opacity 属性可以设置元素的不透明度,取值范围从 …

    css 2023年6月9日
    00
  • pyqt5 设置窗体透明控件不透明的操作

    PyQt5 中设置窗体和控件的透明度非常简单。我们可以通过设置控件或窗体的透明度值来实现该功能。 以下是实现这一功能的步骤: 步骤 1:导入必要的库 import sys from PyQt5.QtWidgets import QWidget, QApplication, QPushButton from PyQt5.QtGui import QPainte…

    css 2023年6月10日
    00
  • Bootstrap的基本应用要点浅析

    下面我将为你详细讲解Bootstrap的基本应用要点浅析。 Bootstrap简介 Bootstrap是一个基于HTML、CSS、JavaScript开发的免费开源前端框架,由Twitter开发而来,采用了响应式设计(Responsive Web Design)的设计思路,用于快速构建适配移动设备的WEB应用程序和网站。Bootstrap功能丰富,外观美观,…

    css 2023年6月10日
    00
  • vue中使用vue-seamless-scroll插件实现列表无缝滚动效果

    下面是详细讲解“vue中使用vue-seamless-scroll插件实现列表无缝滚动效果”的攻略: 什么是vue-seamless-scroll插件 vue-seamless-scroll是一款Vue.js的无缝滚动插件,用于实现网页中的列表无缝滚动效果。它具有易用性和可定制性等优点,在Vue.js的项目中被广泛应用。 安装和引入vue-seamless-…

    css 2023年6月10日
    00
  • css中float left与float right的使用说明

    当我们在网页设计中需要对元素进行布局时,可以使用CSS中的浮动(float)属性。其中,float left和float right是两种常用的浮动方式。下面,将详细讲解这两种浮动的使用说明。 float left和float right的定义 先来看一下float left和float right的具体定义。 float left表示将元素向左浮动,让其脱…

    css 2023年6月10日
    00
  • ANT 压缩(去掉空格/注释)JS文件可提高js运行速度

    对于前端项目,JavaScript文件往往是最大的一个个体文件,优化他的运行速度对整个网站性能的提升是极为重要的。使用ANT工具可以压缩JavaScript文件,去掉一些不必要的空格和注释,并且经过压缩后的文件不会对原有的代码结构和逻辑产生任何影响。 以下是使用ANT压缩JavaScript文件的完整攻略: 1、安装ANT 首先你需要安装ANT工具,可在官网…

    css 2023年6月9日
    00
  • DIV CSS实现网页背景半透明效果

    实现网页背景半透明的效果,可以使用CSS中的rgba()函数,也可以使用opacity属性。我们这里主要介绍使用DIV CSS实现网页背景半透明效果的方法。 步骤一:为背景添加一个DIV 我们可以给整个页面添加一个DIV作为背景,并设置它的位置为fixed,让它撑满整个页面,代码如下: <body> <div class="bac…

    css 2023年6月9日
    00
  • Css样式–文本样式详解

    让我来详细讲解一下“Css样式–文本样式详解”的攻略。 Css样式–文本样式详解 字体样式 在Css中,使用font-family属性来控制字体的样式。比如我们可以设置字体为宋体: p { font-family: SimSun; } 同时,font-size属性可以用来设置字体的大小: p { font-size: 16px; } 字体边框 Css还提…

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