用JS实现点击小图查看大图的思路和代码是什么
Admin 2022-09-14 群英技术资讯 1427 次浏览
这篇文章主要讲解了“用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.js查询一条数据的方法:1、创建相关js文件;2、通过代码“const MongodbClient = require("mongodb").MongoClient,assert = require...”查询一条数据即可。
react在linux上部署的方法:1、打开配置文件;2、通过“tar -zcvf client.tar.gz client”命令将client和server打包;3、将“client.tar.gz”,“server.tar.gz”,“theme.js”及“package.json”文件拷贝至服务器上的项目文件夹下;4、开启服务即可。
因为要用到mysql-libmysqlclient模块,所以运行以下的命令进行安装npminstallmysql-libmysqlclient报错如下: 这是因为对Mysql的一些环境变量的目录没有配置好。先安装Mysql,Mac如何安装这里不细说,Mysql的官网有专门的Mac的dmg包下载,去官网下载,然后用鼠标戳几下就好了然后把Mysql的bin目录添加到PATH的环
相信绝大多数同学都听过闭包这个概念,但闭包具体是什么估计很少有人能够说的很详细。说实话闭包在我们平时开发中应该是很常见的,并且在前端面试中闭包也是常见的重要考点,在学习闭包之前我们先来看看作用域与作用域链,因为这是闭包的关键。
这篇文章主要介绍了angularjs循环对象属性实现动态列的思路详解,本文给大家分享一个demo代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
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