用JS实现点击小图查看大图的思路和代码是什么
Admin 2022-09-14 群英技术资讯 594 次浏览
功能与实现
点击小图片可以查看大图
实现就是把大图放置在顶层(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 排他思想的实现,以及介绍了两个示例,感兴趣的可以了解一下
当vue使用库中的getvalue方法时,需要调用相关方法,通过定义ref=“”,使用this.$refs.exampleEditor._setValue(''),具体示例代码参考下本文,对vue使用引用库中的方法,感兴趣的朋友一起看看吧
uniapp自定义弹框的方法 本文实例为大家分享了uniapp自定义弹框,适用所有类型,供大家参考,具体内容如下 效果原理 利用透明页面,点击进入当前页面,内容根据自己需求去实现,随便自定义,出来的效果就是一个弹框的效果.解决的难题(原生tabbar中间按钮的弹框,升级弹框不能遮挡原生tabbar) 创建一个vue页面 <template> <view @click="close()" class="mask"> <view cla ...
本文主要介绍了iview 权限管理,iview-admin2.0自带权限管理。可以通过设置路由的meta对象的参数access来分配权限。感兴趣的可以了解一下
JS数组中filter方法的使用是什么?filter()创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008