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静态的url如何传递
May 03 Javascript
jquery 简短几句代码实现给元素动态添加及获取提示信息
Sep 01 Javascript
js获取url参数值的两种方式
Sep 10 Javascript
jQuery处理图片加载失败的常用方法
Jun 08 Javascript
三种方式实现瀑布流布局
Feb 10 Javascript
JS实现PC手机端和嵌入式滑动拼图验证码三种效果
Feb 15 Javascript
Vue 2.0+Vue-router构建一个简单的单页应用(附源码)
Mar 14 Javascript
浅谈Webpack打包优化技巧
Jun 12 Javascript
引入外部js脚本加载慢与页面白屏问题的解决
Dec 10 Javascript
js前端如何写一个精确的倒计时代码
Oct 25 Javascript
详解vue中多个有顺序要求的异步操作处理
Oct 29 Javascript
javascript实现移动端轮播图
Dec 09 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/09/19 PHP
thinkphp四种url访问方式详解
2014/11/28 PHP
PHP获取音频文件的相关信息
2015/06/22 PHP
PHP自带方法验证邮箱是否存在
2016/02/01 PHP
Joomla简单判断用户是否登录的方法
2016/05/04 PHP
PHP生成制作验证码的简单实例
2016/06/12 PHP
用PHP的socket实现客户端到服务端的通信实例详解
2017/02/04 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
php生成复杂验证码(倾斜,正弦干扰线,黏贴,旋转)
2018/03/12 PHP
让iframe框架网页在任何浏览器下自动伸缩
2006/08/18 Javascript
利用window.name实现windowStorage代码分享
2014/01/02 Javascript
使用jquery实现仿百度自动补全特效
2015/07/23 Javascript
JS正则替换掉小括号及内容的方法
2016/11/29 Javascript
基于JavaScript实现滑动门效果
2017/03/16 Javascript
Angular中sweetalert弹框的基本使用教程
2018/07/22 Javascript
chosen实现省市区三级联动
2018/08/16 Javascript
vue页面引入three.js实现3d动画场景操作
2020/08/10 Javascript
ant design的table组件实现全选功能以及自定义分页
2020/11/17 Javascript
[05:39]2014DOTA2西雅图国际邀请赛 淘汰赛7月14日TOPPLAY
2014/07/14 DOTA
[04:10]2016国际邀请赛中国区预选赛第二日TOP10精彩集锦
2016/06/28 DOTA
Python警察与小偷的实现之一客户端与服务端通信实例
2014/10/09 Python
Python httplib模块使用实例
2015/04/11 Python
Python3使用requests包抓取并保存网页源码的方法
2016/03/15 Python
python实现对指定字符串补足固定长度倍数截断输出的方法
2018/11/15 Python
python实现将多个文件分配到多个文件夹的方法
2019/01/07 Python
Pycharm简单使用教程(入门小结)
2019/07/04 Python
对python中return与yield的区别详解
2020/03/12 Python
如何提高python 中for循环的效率
2020/04/15 Python
房屋改造计划书
2014/01/10 职场文书
教师遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
三八妇女节标语
2014/10/09 职场文书
网站出售协议书范文
2014/10/10 职场文书
六年级语文下册教学计划
2015/01/22 职场文书
琅琊山导游词
2015/02/05 职场文书
小学六一儿童节活动开幕词
2016/03/04 职场文书
Nginx报错104:Connection reset by peer问题的解决及分析
2022/07/23 Servers