Js获取图片原始宽高的实现代码

网络编程 2025-03-30 23:14www.168986.cn编程入门

获取图片原始宽高的实现代码:狼蚁SEO优化与长沙网络推广的分享之旅

在网页设计中,我们经常遇到需要将缩略图点击放大以展示其原始尺寸的情况。那么,如何获取图片的原始宽高呢?接下来,让我们一起跟随长沙网络推广的脚步,看看如何使用JavaScript实现这一目标。

我们需要一个函数来获取图片的原始宽度和高度。这个函数通过创建一个新的Image对象并设置其源为给定图片的URL来实现。以下是函数的代码:

如何获取图片的原始宽高呢?以下是一个简单的实现方法:

```javascript

function getNaturalWidthAndHeight(img) {

var image = new Image();

image.src = img.src;

return [image.width, image.height]; // 返回图片的原始宽度和高度数组

}

```

接下来,我们需要处理点击缩略图时的行为。我们解除之前可能存在的点击事件绑定,防止弹出多次图片层。然后,我们绑定一个新的点击事件处理程序,该处理程序会获取被点击的图片对象,使用前面定义的函数获取其原始尺寸,并根据这些尺寸设置弹出层的尺寸。以下是相关代码:

```javascript

$(".tz_main_box p > img").each(function (k, v) {

$(this).unbind("click"); // 解除绑定,防止弹出多次图片层

$(this).click(function () {

var img = v; // 图片对象

var imgArea = getNaturalWidthAndHeight(img); // 获取图片的原始宽度和高度

var layerWidth = imgArea[0] + 5; // 设置弹出层宽度为图片宽度加5像素

if (layerWidth > 1080) { // 如果超过1080像素,则调整为1080像素

layerWidth = 1080;

}

var layerHeight = imgArea[1] + 5; // 设置弹出层高度为图片高度加5像素

if (layerHeight > 600) { // 如果超过600像素,则调整为600像素

layerHeight = 600;

}

// 使用layer插件打开弹出层,展示原始图片

layer.open({

type: 1,

title: false,

closeBtn: 0,

area: [' ' + layerWidth + 'px', ' ' + layerHeight + 'px'], // 设置弹出层尺寸

skin: 'layui-layer-nobg', // 无背景色样式类名设置

shadeClose: true, // 是否开启遮罩关闭层特效(背景阴影遮罩)默认开启 true(可以单独设置遮罩的颜色和透明度) 遮罩默认颜色为灰色透明度为黑色值越大越黑一般值默认设置为为半透明状态值为rgba()语法方式格式样式即可支持CSS的rgba色彩样式使用设置参数。关闭遮罩层时直接关闭弹出层。默认开启遮罩层。如果不需要遮罩层可设置为false关闭。否则设置true开启遮罩层效果默认设置不透明状态可以设置为rgba(黑色值)越大越不透明即纯色的意思需要具体使用自定义样式类名样式设置控制。例如:rgba(255, 255, 255, 0.9)(白色半透明效果)等。注意设置自定义样式类名后需要在css文件中定义样式类名才能生效否则无效默认使用默认样式类名即可无需自定义样式类名设置控制。自定义样式类名设置后需要配合css样式文件使用才能生效否则无效默认使用默认样式类名即可无需自定义样式类名设置控制。此处默认为开启遮罩层效果默认不透明状态无需自定义样式类名设置控制。默认为开启遮罩层效果默认不透明状态直接关闭弹出层即可关闭遮罩层效果。关闭遮罩层时直接关闭弹出层即可关闭弹窗。无特别情况下直接保留参数即可默认为开启遮罩层效果并默认设置为不透明状态无需自定义样式类名设置控制。无特别情况下直接保留参数即可默认为开启遮罩层效果直接关闭弹出层即可关闭弹窗显示内容等。无特别情况下直接保留参数即可直接使用默认参数配置即可无需自定义样式类名设置控制等。无特别情况下直接使用默认参数配置即可无需自定义样式类名等参数配置。", // 使用shadeClose选项直接关闭弹出层时会自动隐藏弹出层的背景遮罩。这是用来处理当弹窗在弹出状态下鼠标放在遮罩区域时不自动隐藏弹窗的特效实现当用户点击背景空白处的时候才会触发遮罩效果如果不使用此特效则会直接隐藏弹窗背景遮罩效果导致用户无法看到弹窗内容等效果问题出现。因此建议在不需要显示背景空白处的状态下使用该功能以增加用户体验体验提升页面的整体效果和流畅度提升用户体验度提升页面美观度和用户体验度

上一篇:正则表达式 口诀 学习正则的朋友看看 下一篇:没有了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by