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 相关文章推荐
对jQuery的事件绑定的一些思考(补充)
Apr 20 Javascript
Jquery 的outerHeight方法使用介绍
Sep 11 Javascript
使用mini-define实现前端代码的模块化管理
Dec 25 Javascript
总结AngularJS开发者最常犯的十个错误
Aug 31 Javascript
ES6中参数的默认值语法介绍
May 03 Javascript
原生JS实现自定义滚动条效果
Oct 27 Javascript
JSON在Javascript中的使用(eval和JSON.parse的区别)详细解析
Sep 05 Javascript
对Vue.js之事件的绑定(v-on: 或者 @ )详解
Sep 15 Javascript
VUE脚手架具体使用方法
May 20 Javascript
JavaScript中break、continue和return的用法区别实例分析
Mar 02 Javascript
javascript中的offsetWidth、clientWidth、innerWidth及相关属性方法
May 14 Javascript
jQuery带控制按钮轮播图插件
Jul 31 jQuery
用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
phpExcel中文帮助手册之常用功能指南
2014/08/18 PHP
360搜索引擎自动收录php改写方案
2018/04/28 PHP
解决在Laravel 中处理OPTIONS请求的问题
2019/10/11 PHP
js 判断脚本加载完毕的代码
2011/07/13 Javascript
jQuery实现可拖动的浮动层完整代码
2013/05/27 Javascript
jquery ui dialog实现弹窗特效的思路及代码
2013/08/03 Javascript
JQuery右键菜单插件ContextMenu使用指南
2014/12/19 Javascript
jQuery使用hide方法隐藏页面上指定元素的方法
2015/03/30 Javascript
JS函数的几种定义方式分析
2015/12/17 Javascript
深入分析jQuery的ready函数是如何工作的(工作原理)
2015/12/17 Javascript
jQuery的promise与deferred对象在异步回调中的作用
2016/05/03 Javascript
Angular2 Service实现简单音乐播放器服务
2017/02/24 Javascript
JS排序之选择排序详解
2017/04/08 Javascript
vue实现条件叠加搜索的解决方法
2019/05/28 Javascript
解决layer 动态加载select 失效的问题
2019/09/18 Javascript
vuex实现像调用模板方法一样调用Mutations方法
2019/11/06 Javascript
JavaScript Reflect Metadata实现详解
2019/12/12 Javascript
详解JavaScript中分解数字的三种方法
2021/01/05 Javascript
Python下使用Psyco模块优化运行速度
2015/04/05 Python
Python 使用PIL中的resize进行缩放的实例讲解
2018/08/03 Python
浅析python3中的os.path.dirname(__file__)的使用
2018/08/30 Python
在Python中os.fork()产生子进程的例子
2019/08/08 Python
Django REST Framework之频率限制的使用
2019/09/29 Python
Python实现数字的格式化输出
2020/08/01 Python
关于pycharm 切换 python3.9 报错 ‘HTMLParser‘ object has no attribute ‘unescape‘ 的问题
2020/11/24 Python
python 多线程爬取壁纸网站的示例
2021/02/20 Python
英国电动工具购买网站:Anglia Tool Centre
2017/04/25 全球购物
精选干货:Java精选笔试题附答案
2014/01/18 面试题
优秀员工年终发言演讲稿
2014/01/01 职场文书
个人工作表现评语
2014/04/30 职场文书
音乐教育专业自荐信
2014/09/18 职场文书
二手房购房意向书
2015/05/09 职场文书
退休欢送会主持词
2015/07/01 职场文书
入党后的感想
2015/08/10 职场文书
PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题
2021/04/03 Python
使用Redis实现秒杀功能的简单方法
2021/05/08 Redis