用JS实现点击小图查看大图的思路和代码是什么
Admin 2022-09-14 群英技术资讯 883 次浏览
这篇文章主要讲解了“用JS实现点击小图查看大图的思路和代码是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“用JS实现点击小图查看大图的思路和代码是什么”吧!功能与实现
点击小图片可以查看大图
实现就是把大图放置在顶层(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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
我们了解到,Node采用了事件驱动机制,而EventEmitter就是Node实现事件驱动的基础,本文主要介绍了node.js自定义实现EventEmitter,感兴趣的可以了解一下
开发一个网络游戏,难免要处理网络通信。有几点问题需要注意
vue是前端轻量级MVVM框架,入门门槛相对较低,今天用Vue做一个购物车实例,所以下面这篇文章主要给大家介绍了关于vue实现购物车全部功能的简单方法,需要的朋友可以参考下
这篇文章主要为大家详细介绍了vue更多筛选项小组件的使用方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
这篇文章主要介绍了详解react组件通讯方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008