您的位置:首页 > Web前端 > JavaScript

Javascript查看大图功能代码实现

2020-05-08 04:05 239 查看

功能与实现

点击小图片可以查看大图

实现就是把大图放置在顶层(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";
}

以上就是本文的全部内容,希望对大家的学习有所帮助

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Javascript 查看 大图