JS实现控制图片显示大小的方法【图片等比例缩放功能】

yizhihongxing

下面是JS实现控制图片显示大小的方法的完整攻略,包含以下步骤:

步骤 1:准备工作

在HTML文档中添加一个图片:

<img src="图片链接" alt="图片说明">

步骤 2:给图片添加ID

为图片添加一个ID,方便后续在JS中引用该图片:

<img id="pic" src="图片链接" alt="图片说明">

步骤 3:编写JS代码

接下来,我们要编写JS代码,实现图片等比例缩放的功能。具体步骤如下:

  1. 获取图片对象

在JS中,我们使用document.getElementById()函数获取图片对象,代码如下:

var pic = document.getElementById("pic");
  1. 计算缩放比例

接下来,我们需要计算图片缩放的比例。我们可以使用图片真实宽度和高度,以及图片容器(例如div)的宽度和高度,来计算图片需要缩放的比例。

var containerWidth = document.getElementById("container").offsetWidth; // 获取容器宽度
var containerHeight = document.getElementById("container").offsetHeight; // 获取容器高度
var picWidth = pic.naturalWidth; // 获取图片真实宽度
var picHeight = pic.naturalHeight; // 获取图片真实高度

if (picWidth > containerWidth || picHeight > containerHeight) {
  if ((picWidth / containerWidth) > (picHeight / containerHeight)) {
    var ratio = containerWidth / picWidth;
  } else {
    var ratio = containerHeight / picHeight;
  }
} else {
  var ratio = 1;
}
  1. 设置图片缩放

最后,我们使用CSS来设置图片的缩放,并将缩放比例应用到CSS样式中:

pic.style.width = picWidth * ratio + "px";
pic.style.height = picHeight * ratio + "px";

示例 1:等比例缩放图片

下面是一个完整的JS代码示例,实现等比例缩放图片的效果:

<html>
<head>
  <style>
    #container {
      width: 500px;
      height: 500px;
      border: 1px solid #ccc;
    }
    #pic {
      display: block;
      margin: 0 auto;
    }
  </style>
</head>
<body>
  <div id="container">
    <img id="pic" src="图片链接" alt="图片说明">
  </div>
  <script>
    var pic = document.getElementById("pic");
    var containerWidth = document.getElementById("container").offsetWidth;
    var containerHeight = document.getElementById("container").offsetHeight;
    var picWidth = pic.naturalWidth;
    var picHeight = pic.naturalHeight;

    if (picWidth > containerWidth || picHeight > containerHeight) {
      if ((picWidth / containerWidth) > (picHeight / containerHeight)) {
        var ratio = containerWidth / picWidth;
      } else {
        var ratio = containerHeight / picHeight;
      }
    } else {
      var ratio = 1;
    }

    pic.style.width = picWidth * ratio + "px";
    pic.style.height = picHeight * ratio + "px";
  </script>
</body>
</html>

示例 2:点击按钮也可以缩放图片

下面是一个完整的JS代码示例,实现点击按钮也可以缩放图片的效果:

<html>
<head>
  <style>
    #container {
      width: 500px;
      height: 500px;
      border: 1px solid #ccc;
    }
    #pic {
      display: block;
      margin: 0 auto;
    }
  </style>
</head>
<body>
  <div id="container">
    <img id="pic" src="图片链接" alt="图片说明">
  </div>
  <button id="button">点击缩放</button>
  <script>
    var pic = document.getElementById("pic");
    var containerWidth = document.getElementById("container").offsetWidth;
    var containerHeight = document.getElementById("container").offsetHeight;
    var picWidth = pic.naturalWidth;
    var picHeight = pic.naturalHeight;

    function resizePic() {
      if (picWidth > containerWidth || picHeight > containerHeight) {
        if ((picWidth / containerWidth) > (picHeight / containerHeight)) {
          var ratio = containerWidth / picWidth;
        } else {
          var ratio = containerHeight / picHeight;
        }
      } else {
        var ratio = 1;
      }

      pic.style.width = picWidth * ratio + "px";
      pic.style.height = picHeight * ratio + "px";
    }

    resizePic(); // 初始执行一次

    document.getElementById("button").addEventListener("click", function() {
      // 随机修改图片宽和高,模拟图片的内容变化
      picWidth = Math.floor(Math.random() * 500) + 200;
      picHeight = Math.floor(Math.random() * 500) + 200;
      resizePic();
    });
  </script>
</body>
</html>

以上是JS实现控制图片显示大小的方法的完整攻略,希望能对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS实现控制图片显示大小的方法【图片等比例缩放功能】 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • JavaScript 中this指向问题案例详解

    下面用 Markdown 格式编写“JavaScript 中 this 指向问题案例详解”的攻略: JavaScript 中this指向问题案例详解 什么是 this 在 JavaScript 中,this 表示当前对象。具体所指对象,取决于 this 的出现位置以及函数的调用方式。 this 的指向可以根据不同的情况来变化。同时,有一些坑点需要注意,因为一…

    JavaScript 2023年6月10日
    00
  • JavaScript数组Array对象增加和删除元素方法总结

    JavaScript数组Array对象增加和删除元素方法总结 增加元素 push() 方法 可以使用push()方法将元素添加到数组的末尾。 语法: arr.push(item1, item2, …, itemX) 示例: var fruits = ["apple", "banana"]; fruits.push(…

    JavaScript 2023年5月27日
    00
  • javascript实现根据时间段显示问候语的方法

    要实现根据时间段显示问候语的方法,需要通过JavaScript代码获取当前时间,然后根据时间的不同,显示不同的问候语。下面是详细的攻略: 步骤一:获取当前时间 可以通过JavaScript的Date对象获取当前时间,具体代码如下: let now = new Date(); let hour = now.getHours(); 上面的代码通过new Date…

    JavaScript 2023年5月27日
    00
  • element el-tree组件的动态加载、新增、更新节点的实现

    首先我们需要了解一下element el-tree组件的基本结构和属性: <el-tree :data="data" :load="load" :props="defaultProps" @node-click="handleNodeClick"> </el-t…

    JavaScript 2023年6月10日
    00
  • 用js实现输入提示(自动完成)的实例代码

    想要实现输入提示(autocomplete)功能,我们通常需要以下几个步骤: 1. 获取用户输入 在实现自动完成功能之前,我们首先需要获取用户的输入。在网页中,我们可以通过<input>标签来实现用户输入信息的获取,例如: <label for="username">用户名:</label> <i…

    JavaScript 2023年6月10日
    00
  • javascript 数组精简技巧小结

    JavaScript 数组精简技巧小结 在 JavaScript 中,数组操作是非常常见的操作。本文将总结一些数组精简技巧,帮助你在编程过程中更高效地使用数组。 1. 查询元素是否在数组中 在 JavaScript 中,可以通过 indexOf() 方法查询数组中是否包含某一元素,它会返回该元素在数组中的索引位置,如果数组中不存在该元素,返回 -1。 示例一…

    JavaScript 2023年5月27日
    00
  • JS实现的倒计时恢复按钮点击功能【可用于协议阅读倒计时】

    下面是关于“JS实现的倒计时恢复按钮点击功能”的完整攻略: 一、实现思路 通过JavaScript获取页面上的倒计时元素,并从元素的data-*属性中读取倒计时的时间。 开始倒计时,每秒减少一秒,并将剩余时间更新到页面上。 倒计时结束后,显示恢复按钮,并将按钮设置为可点击状态。 添加按钮的点击事件,点击按钮后重新开始倒计时。 二、实现步骤 HTML结构: &…

    JavaScript 2023年6月10日
    00
  • js 获取本周、上周、本月、上月、本季度、上季度的开始结束日期

    先来解释一下获取日期的方式:可以通过 JS 内置对象 Date() 进行日期的获取,以下是获取日期的方法: getFullYear():获取年份 getMonth():获取月份(注意:返回值是0-11,0代表一月,11代表十二月) getDate():获取日(注意:返回值是1-31之间的整数) getDay():获取星期几(注意:返回值是0-6,0代表星期日…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部