图片点击放大及切换图片

news/2025/2/21 10:59:11/

1. 编写html

<div class="mask" id="mask"></div>
<div class="img-container" id="img-container"><div class="preview" id="preview"></div><div class="left" id="last-img"><img class="left-imgs" src="../../static/images/last-img.png" alt="left"></div><div class="right" id="next-img"><img class="next-imgs" src="../../static/images/next-img.png" alt="right"></div>
</div>

在这里插入图片描述

  1. 编写css
.mask {display: none;position: fixed;top: 0;left: 0;right: 0;bottom: 0;background: #000;z-index: 2003;opacity: 0.5;
}.img-container {display: none;position: fixed;top: 50%;margin-top: -350px;left: 50%;margin-left: -350px;width: 400px;height: 700px;z-index: 2004;
}.preview {position: relative;width: 400px;height: 700px;
}#img-container .imgs {position: absolute;top: 0;left: 0;width: 700px;height: 700px;
}#img-container .left {user-select: none;position: absolute;width: 80px;height: 80px;top: 50%;margin-top: -40px;left: -130px;font-size: 18px;cursor: pointer;
}#img-container .left .left-imgs {width: 80px;height: 80px;opacity: 0.4;filter: alpha(opacity:40);
}#img-container .left .left-imgs:hover {opacity: 0.8;filter: alpha(opacity:80);
}#img-container .right {user-select: none;position: absolute;width: 80px;height: 80px;top: 50%;margin-top: -40px;right: -160px;font-size: 18px;cursor: pointer;
}#img-container .right .next-imgs {width: 80px;height: 80px;opacity: 0.4;filter: alpha(opacity:40);
}#img-container .right .next-imgs:hover {width: 80px;height: 80px;opacity: 0.8;filter: alpha(opacity:80);
}
  1. 编写点击放大图片 js
function browseImg(arr) {var preview = document.getElementById("preview");document.getElementById("preview").innerHTML = "";console.log(preview)for (var n = 0; n < arr.length; n++) {var domImg = document.createElement("img");domImg.style.width = '400px'domImg.style.height = '700px'domImg.src = arr[n];preview.appendChild(domImg)}var clickImgsShow = document.getElementsByClassName("clickImgsShow") //获取点击显示遮罩以及图片dom元素var imgContainer = document.getElementById("img-container")var close = document.getElementById("mask")var imgs = document.getElementById("preview").getElementsByTagName("img")  //获取img元素console.log(imgs)var last = document.getElementById("last-img")  //获取上一张元素var next = document.getElementById("next-img")  //获取下一张元素var imgsLen = imgs.lengthvar index = 0// 初始化显示第一张图片imgsShow(index)// 点击上一张时last.addEventListener('click', function () {if (index === 0) {index = imgsLen - 1imgsShow(index)} else {index--imgsShow(index)}})// 点击下一张时next.addEventListener('click', function () {if (index === imgsLen - 1) {index = 0imgsShow(index)} else {index++imgsShow(index)}})// 点击关闭遮罩close.addEventListener('click', function () {close.style.display = ''imgContainer.style.display = ''})
}// 传递当前显示index 隐藏其它图片
function imgsShow(index) {var imgs = document.getElementById("preview").getElementsByTagName("img")for (var i = 0; i < imgs.length; i++) {if (i === index) {imgs[i].style.display = ''} else {imgs[i].style.display = "none";}}
}
  1. 将编写的js和css引入html
<script src="存放js路径/minImgBrowse.js" type="text/javascript"></script>
<link rel="stylesheet" href="存放css路径/alertImgBrowse.css" media="all">
  1. 如果是在表格中点击放大图片及切换 则先拿到点击具体行的图片数据及长度 再放大显示 (前端框架是layui)
    //监听行单击事件(双击事件为:rowDouble)var images;table.on('row(buyer-table-toolbar)', function (obj) {var data = obj.data;images = data.images;});// 初始化控件数据$(document).ready(function () {$('body').on('click', '.clickImgsShow', function () {var array = [];// 拿到当前点击图片的下标var index = $('.clickImgsShow').index($(this));// 拿到当前点击图片的srcvar src = $('.clickImgsShow')[index].src;array.push(src);// 循环点击某行而拿到的图片集合for (var i = 0; i < images.length; i++) {if (src !== images[i]) {array.push(images[i])}}browseImg(array);$('#mask').show();$('#img-container').show();})});
  1. 如果只点击放大一张图片
       $('body').on('click', '.clickImgsShow', function () {var array = [];var index = $('.clickImgsShow').index($(this));var src = $('.clickImgsShow')[index].src;array.push(src);browseImg(array);$('#mask').show();$('#img-container').show();})
  1. 如果是在弹框里点击图片放大且切换
$(document).ready(function () {initData();$('body').on('click', '.clickImgsShow', function () {var array = [];var index = $('.clickImgsShow').index($(this));var src = $('.clickImgsShow')[index].src;array.push(src);for (var i = 0; i < $('.clickImgsShow').length; i++) {if (index !== i) {array.push($('.clickImgsShow')[i].src)}}browseImg(array );$('#img-container').show();});});

http://www.ppmy.cn/news/424247.html

相关文章

如何把图片分辨率调低?如何调整照片的分辨率?

图像分辨率一般是指图像单位英寸内所包含的像素点数&#xff0c;一般用DPI表示单位&#xff0c;一张图像的文件大小一般是由图像的分辨率和尺寸共同决定的&#xff0c;分辨率与尺寸越大&#xff0c;图像越清晰&#xff0c;但是同样所需占用的空间就越大。在了解了关于图片分辨率…

照片放大啊

Description wth 的电脑里存储了一些老照片&#xff0c;虽然这些照片有些模糊&#xff0c;但是 wth 很喜欢它们&#xff0c;因为这些照片都是儿时的回忆。现在他上了大学&#xff0c;他想用学到的编程知识来将这些模糊的照片放大&#xff0c;可是他很菜&#xff0c;尝试了两年都…

easyui04(datagrid数据查询)

一.datagrid数据表格 <script type"text/javascript"> $(function(){ //加载数据 $(#myTable).datagrid({ url:ctx/goods.do,//请求路径 pagination:true,//显示分页栏 fitColumns:true,//让列…

Chrome 扩展程序——Imagus:图片放大预览工具

主要介绍 Imagus 的功能及应用&#xff0c;Imagus 是一款简单实用的图片放大预览工具。 主要功能 Imagus 的功能非常单一&#xff0c;就是在浏览网页时&#xff0c;当鼠标悬停到一张图片后&#xff0c;会自动放大图片&#xff0c;进行预览&#xff0c;这在浏览技术博客&#…

亲测好用的PS图片无损放大插件:Blow Up 3 for Mac

Alien Skin Blow Up 3 for Mac是一款运行在Mac平台上的PS图片无损放大滤镜插件&#xff0c;这款alienskin滤镜插件适用于ps和lr&#xff0c;使用alien skin blow up 3 for mac后&#xff0c;在放大图片的同时也能保持图片的清晰度&#xff0c;质量不变&#xff0c;非常好用。 A…

鼠标移到图片上,图片放大

.Nei1 img{ width: 122px; height: 89.6px; float: left; padding: 2px 2px; transition: all 0.6s; } .Nei1 img:hover{ transform: scale(3.3); } 例&#xff1a;将鼠标悬停在一…

点击图片放大预览,遮罩屏幕放大展示

功能说明&#xff1a;将图片方格展示&#xff0c;点击某张图片可在当前页面进行预览&#xff0c;点击遮罩屏幕&#xff0c;并且方法显示&#xff0c;点击右上角x&#xff0c;放大的图片消失。 效果图如下&#xff1a; 1、引入fancy.js和fancy.css 路径根据项目实际路径改写&a…

如何把图片无损放大?教你图片怎么无损放大

随着数字图像技术的不断发展&#xff0c;图片无损放大成为了许多人关注的问题。当我们需要将小图片放大到更大的尺寸时&#xff0c;使用传统的放大方法可能会导致图片失真、模糊等质量问题。那么如何在保持高清晰度和精度的同时进行无损放大&#xff0c;一直是一个备受关注的课…