Javascript查看大图功能代码实现


Posted in Javascript onMay 07, 2020

功能与实现

点击小图片可以查看大图

实现就是把大图放置在顶层(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 相关文章推荐
Javascript 面向对象 对象(Object)
May 13 Javascript
IE6 fixed的完美解决方案
Mar 31 Javascript
Javascript的常规数组和关联数组对比小结
May 24 Javascript
javascript中处理时间戳为日期格式的方法
Jan 02 Javascript
JavaScript不刷新实现浏览器的前进后退功能
Nov 05 Javascript
js函数与php函数的区别实例浅析
Jan 12 Javascript
jQuery简单实现验证邮箱格式
Jul 15 Javascript
最通俗易懂的javascript变量提升详解
Aug 05 Javascript
jquery实现侧边栏左右伸缩效果的示例
Dec 19 jQuery
vue: WebStorm设置快速编译运行的方法
Oct 18 Javascript
详解JS判断页面是在手机端还是在PC端打开的方法
Apr 26 Javascript
Electron-vue开发的客户端支付收款工具的实现
May 24 Javascript
用VsCode编辑TypeScript的实现方法
May 07 #Javascript
JavaScript交换变量的常用方法小结【4种方法】
May 07 #Javascript
原生JavaScript创建不可变对象的方法简单示例
May 07 #Javascript
Javascript幻灯片播放功能实现过程解析
May 07 #Javascript
基于javascript实现日历功能原理及代码实例
May 07 #Javascript
Vue简单实现原理详解
May 07 #Javascript
angular组件间通讯的实现方法示例
May 07 #Javascript
You might like
php学习笔记 [预定义数组(超全局数组)]
2011/06/09 PHP
深入PHP操作MongoDB的技术总结
2013/06/02 PHP
PHP rawurlencode与urlencode函数的深入分析
2013/06/08 PHP
深入学习微信网址链接解封的防封原理visit_type
2019/08/15 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
2019/12/01 PHP
禁止刷新,回退的JS
2006/11/25 Javascript
鼠标经过显示二级菜单js特效
2013/08/13 Javascript
Extjs实现进度条的两种便捷方式
2013/09/26 Javascript
js showModalDialog 弹出对话框的简单实例(子窗体)
2014/01/07 Javascript
JavaScript的21条基本知识点
2014/03/04 Javascript
alert和confirm功能介绍
2014/05/21 Javascript
javascript计时器详解
2015/02/28 Javascript
JavaScript Date对象详解
2016/03/01 Javascript
JS遍历数组和对象的区别及递归遍历对象、数组、属性的方法详解
2016/06/14 Javascript
JS+html5制作简单音乐播放器
2020/09/13 Javascript
微信小程序实现简易table表格
2020/06/19 Javascript
Vue注册组件命名时不能用大写的原因浅析
2019/04/25 Javascript
vue安装遇到的5个报错及解决方法
2019/06/12 Javascript
[03:12]完美世界DOTA2联赛PWL DAY9集锦
2020/11/10 DOTA
只需7行Python代码玩转微信自动聊天
2019/01/27 Python
基于python实现高速视频传输程序
2019/05/05 Python
python tkinter图形界面代码统计工具(更新)
2019/09/18 Python
python学习将数据写入文件并保存方法
2020/06/07 Python
美国床垫和床上用品公司:Nest Bedding
2017/06/12 全球购物
印度手工编织服装和家居用品商店:Fabindi
2019/10/07 全球购物
实习评语
2013/12/16 职场文书
大学生饮食连锁店创业计划书
2014/01/17 职场文书
房地产营销策划方案
2014/02/08 职场文书
冬季施工防火方案
2014/05/17 职场文书
交通安全责任书范本
2014/07/24 职场文书
党员三严三实心得体会
2014/10/13 职场文书
2014年消防工作总结
2014/11/21 职场文书
小升初自荐信范文
2015/03/05 职场文书
学校计划生育责任书
2015/05/09 职场文书
创业计划书之奶茶店开店方案范本!
2019/08/06 职场文书
redis通过6379端口无法连接服务器(redis-server.exe闪退)
2021/05/08 Redis