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基础知识(一)核心基础语法与事件模型
Sep 29 Javascript
深入探寻javascript定时器
Jan 02 Javascript
Javascript中arguments用法实例分析
Jun 13 Javascript
AngularJS指令用法详解
Nov 02 Javascript
javascript实现简单的可随机变色网页计算器示例
Dec 30 Javascript
Angular2平滑升级到Angular4的步骤详解
Mar 29 Javascript
vue.js给动态绑定的radio列表做批量编辑的方法
Feb 28 Javascript
JQuery元素快速查找与操作
Apr 22 jQuery
微信小程序实现定位及到指定位置导航的示例代码
Aug 20 Javascript
layui导出所有数据的例子
Sep 10 Javascript
JavaScript实现英语单词题库
Dec 24 Javascript
ES2020 新特性(种草)
Jan 12 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实现图片等比例放大和缩小的方法详解
2013/06/06 PHP
使用php伪造referer的方法 利用referer防止图片盗链
2014/01/20 PHP
php文件服务实现虚拟挂载其他目录示例
2014/04/17 PHP
PHP函数引用返回的实例详解
2016/09/11 PHP
Laravel定时任务的每秒执行代码
2019/10/22 PHP
laravel框架select2多选插件初始化默认选中项操作示例
2020/02/18 PHP
一个简单的jQuery插件制作 学习过程及实例
2010/04/25 Javascript
AJAX 网页保留浏览器前进后退等功能
2011/02/12 Javascript
Extjs 继承Ext.data.Store不起作用原因分析及解决
2013/04/15 Javascript
JS动态创建Table,Tr,Td并赋值的具体实现
2013/07/05 Javascript
自定义的一个简单时尚js下拉选择框
2013/11/20 Javascript
JS中操作JSON总结
2020/12/06 Javascript
JavaScript中使用Math.floor()方法对数字取整
2015/06/15 Javascript
jquery采用oop模式class类的使用示例
2016/01/22 Javascript
详谈for循环里面的break和continue语句
2017/07/20 Javascript
Vue项目中使用jquery的简单方法
2019/05/16 jQuery
微信小程序如何修改radio和checkbox的默认样式和图标
2019/07/24 Javascript
ionic3双击返回退出应用的方法
2019/09/17 Javascript
[04:28]DOTA2亚洲邀请赛小组赛第五日 TOP10精彩集锦
2015/02/03 DOTA
Python程序员鲜为人知但你应该知道的17个问题
2014/06/04 Python
Python自动化运维和部署项目工具Fabric使用实例
2016/09/18 Python
Python实现图片转字符画的代码实例
2019/02/22 Python
详解PyCharm安装MicroPython插件的教程
2019/06/24 Python
python列表每个元素同增同减和列表元素去空格的实例
2019/07/20 Python
Python变量及数据类型用法原理汇总
2020/08/06 Python
Rakuten Kobo台湾:电子书、eReaders和Reading应用程式
2017/11/24 全球购物
彪马荷兰官网:PUMA荷兰
2019/05/08 全球购物
Wilson体育用品官网:美国著名运动器材品牌
2019/05/12 全球购物
提高EJB性能都有哪些技巧
2012/03/25 面试题
初一家长会邀请函
2014/01/31 职场文书
项目申报专员岗位职责
2014/07/09 职场文书
禁毒宣传活动总结
2014/08/26 职场文书
2014年学习厉行节约反对浪费思想汇报
2014/09/10 职场文书
要账委托书范本
2014/09/15 职场文书
小学美术教学反思
2016/02/17 职场文书
SpringCloud Function SpEL注入漏洞分析及环境搭建
2022/04/08 Java/Android