用JS实现点击小图查看大图的思路和代码是什么
Admin 2022-09-14 群英技术资讯 264 次浏览
功能与实现
点击小图片可以查看大图
实现就是把大图放置在顶层(z-index大于当前页面的),并且还可以加一些额外的比如透明度什么的。
大图以动画的形式出现
动画就是css动画样式了,可以自定义动画,将图片一点点变大,发挥想象了。
代码
html代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="style.css" rel="external nofollow" type="text/css"> <link rel="stylesheet" href="https://cdn.staticfile.org/font-awesome/4.7.0/css/font-awesome.css" rel="external nofollow" > </head> <body> <div class="row"> <div class="col" onclick="open_container(1)"> <img src="img/1.jpg" class="img"> </div> <div class="col" onclick="open_container(2)"> <img src="img/2.jpg" class="img"> </div> <div class="col" onclick="open_container(3)"> <img src="img/3.jpg" class="img"> </div> <div class="col" onclick="open_container(4)"> <img src="img/4.jpg" class="img"> </div> </div> <div class="container" id="container"> <div class="close" id="close" onclick="close_container()"> <i class="fa fa-close" style="font-size:130px;color:white;"></i> </div> <div class="container_content"> <img id="content_img" class="content_img" src="img/1.jpg"> </div> </div> </body> <script type="text/javascript" src="show.js"></script> </html>
css代码
.row{ margin:auto; } .row:after { content: ""; display: table; clear: both; } .col{ float: left; width: 20%; } img { margin-bottom: -4px; width:100%; height: auto; } .close{ position:absolute; top:30px; right:30px; } .container{ display:none; position:fixed; z-index:1;/*设置层叠顺序:拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面*/ padding-top:100px;/*放置关闭按钮*/ left:0px; top:0px; width: 100%; height:100%; overflow: auto; /*--溢出的情况*/ opacity:0.85;/*透明*/ background-color: black; } .container_content{ position: relative; background-color: black; margin: auto; width: 90%; max-width: 1200px; } .content_img{ width:150%; height: auto; -webkit-animation-name: zoom; -webkit-animation-duration: 0.6s; animation-name: zoom; animation-duration: 0.6s; } @-webkit-keyframes zoom {/*自定义动画*/ from {-webkit-transform:scale(0)} to {-webkit-transform:scale(1)} } @keyframes zoom {/*自定义动画*/ from {transform:scale(0)} to {transform:scale(1)} }
js代码
function open_container(x){ document.getElementById("container").style.display="block"; var str=""; str="img/"+x+".jpg"; document.getElementById("content_img").src=str; } function close_container(){ document.getElementById("container").style.display="none"; }
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
javascript中的math.random()是用来生成随机数的,其使用语法如“Math.floor(Math.random() * 10 + 1);”,该语句能在连续整数中取得一个随机数。
Webpack 是一个前端资源加载/打包工具。它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源,这篇文章主要介绍了JavaScript中Webpack的使用,需要的朋友可以参考下
这篇文章主要介绍了通过vue如何设置header,每个项目都有头部但是内容不一样;这种情况我们可以考虑在app.vue中创建公共头部,那么怎么配置公共头部header,下面小编通过实例代码详细讲解,需要的朋友可以参考下
有时候在开发的过程中发现一个Angular项目不太够用,两个独立的项目又不太好复用,这时便需要将原来的Angular项目简单做个升级,这篇文章主要给大家介绍了关于将Angular单项目升级为多项目的相关资料,需要的朋友可以参考下
本文主要介绍了element-plus中如何实现按需导入与全局导入,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008