[相关教程](https://www.runoob.com/w3cnote/javascript-lightbox.html)

Light Box

html

原理:

1.将项目分成两部分 第一部分:没点图片前:在图片上设置点击按钮,触发改变modal的dispair 第二部分:点击图片后进入modal 设置modal的 z-index =1;浮在第一部分表面,设置动画效果 按扭和点的原理跟 幻灯片原理一样

<!-- 图片改为你的图片地址 -->
<h2 style="text-align:center">Lightbox</h2><div class="row"><div class="column"><img src="http://static.runoob.com/images/demo/demo1.jpg" style="width:100%" onclick="openModal();currentSlide(1)" class="hover-shadow cursor"></div><div class="column"><img src="http://static.runoob.com/images/demo/demo2.jpg" style="width:100%" onclick="openModal();currentSlide(2)" class="hover-shadow cursor"></div><div class="column"><img src="http://static.runoob.com/images/demo/demo3.jpg" style="width:100%" onclick="openModal();currentSlide(3)" class="hover-shadow cursor"></div><div class="column"><img src="http://static.runoob.com/images/demo/demo4.jpg" style="width:100%" onclick="openModal();currentSlide(4)" class="hover-shadow cursor"></div>
</div><div id="myModal" class="modal"><span class="close cursor" onclick="closeModal()">&times;</span><div class="modal-content"><div class="mySlides"><div class="numbertext">1 / 4</div><img src="http://static.runoob.com/images/demo/demo1.jpg" style="width:100%"></div><div class="mySlides"><div class="numbertext">2 / 4</div><img src="http://static.runoob.com/images/demo/demo2.jpg" style="width:100%"></div><div class="mySlides"><div class="numbertext">3 / 4</div><img src="http://static.runoob.com/images/demo/demo3.jpg" style="width:100%"></div><div class="mySlides"><div class="numbertext">4 / 4</div><img src="http://static.runoob.com/images/demo/demo4.jpg" style="width:100%"></div><a class="prev" onclick="plusSlides(-1)">❮</a><a class="next" onclick="plusSlides(1)">❯</a><div class="caption-container"><p id="caption"></p></div><div class="column"><img class="demo cursor" src="http://static.runoob.com/images/demo/demo1.jpg" style="width:100%" onclick="currentSlide(1)" alt="Nature and sunrise"></div><div class="column"><img class="demo cursor" src="http://static.runoob.com/images/demo/demo2.jpg" style="width:100%" onclick="currentSlide(2)" alt="Trolltunga, Norway"></div><div class="column"><img class="demo cursor" src="http://static.runoob.com/images/demo/demo3.jpg" style="width:100%" onclick="currentSlide(3)" alt="Mountains and fjords"></div><div class="column"><img class="demo cursor" src="http://static.runoob.com/images/demo/demo4.jpg" style="width:100%" onclick="currentSlide(4)" alt="Northern Lights"></div></div>
</div>

CSS

body {font-family: Verdana, sans-serif;margin: 0;
}* {box-sizing: border-box;
}.row > .column {padding: 0 8px;
}.row:after {content: "";display: table;clear: both;
}.column {float: left;width: 25%;
}/* 弹窗背景 */
.modal {display: none;position: fixed;z-index: 1;padding-top: 100px;left: 0;top: 0;width: 100%;height: 100%;overflow: auto;background-color: black;
}/* 弹窗内容 */
.modal-content {position: relative;background-color: #fefefe;margin: auto;padding: 0;width: 90%;max-width: 1200px;
}/* 关闭按钮 */
.close {color: white;position: absolute;top: 10px;right: 25px;font-size: 35px;font-weight: bold;
}.close:hover,
.close:focus {color: #999;text-decoration: none;cursor: pointer;
}.mySlides {display: none;
}.cursor {cursor: pointer
}/* 上一页 & 下一页 按钮 */
.prev,
.next {cursor: pointer;position: absolute;top: 50%;width: auto;padding: 16px;margin-top: -50px;color: white;font-weight: bold;font-size: 20px;transition: 0.6s ease;border-radius: 0 3px 3px 0;user-select: none;-webkit-user-select: none;
}/* 定位下一页按钮到右侧 */
.next {right: 0;border-radius: 3px 0 0 3px;
}/* 鼠标移动上去修改背景色为黑色 */
.prev:hover,
.next:hover {background-color: rgba(0, 0, 0, 0.8);
}/* 页数(1/3 etc) */
.numbertext {color: #f2f2f2;font-size: 12px;padding: 8px 12px;position: absolute;top: 0;
}img {margin-bottom: -4px;
}.caption-container {text-align: center;background-color: black;padding: 2px 16px;color: white;
}.demo {opacity: 0.6;
}.active,
.demo:hover {opacity: 1;
}img.hover-shadow {transition: 0.3s
}.hover-shadow:hover {box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19)
}

javascript

function openModal() {document.getElementById('myModal').style.display = "block";
}function closeModal() {document.getElementById('myModal').style.display = "none";
}var slideIndex = 1;
showSlides(slideIndex);function plusSlides(n) {showSlides(slideIndex += n);
}function currentSlide(n) {showSlides(slideIndex = n);
}function showSlides(n) {var i;var slides = document.getElementsByClassName("mySlides");var dots = document.getElementsByClassName("demo");var captionText = document.getElementById("caption");if (n > slides.length) {slideIndex = 1}if (n < 1) {slideIndex = slides.length}for (i = 0; i < slides.length; i++) {slides[i].style.display = "none";}for (i = 0; i < dots.length; i++) {dots[i].className = dots[i].className.replace(" active", "");}slides[slideIndex-1].style.display = "block";dots[slideIndex-1].className += " active";captionText.innerHTML = dots[slideIndex-1].alt;
}

JavaScript Light BOX相册预览功能相关推荐

  1. html预览图片的功能,javascript实现的图片预览功能

    本文实例讲述了javascript实现的图片预览功能.分享给大家供大家参考,具体如下: 1.将下面的代码复制到 内 /* Thumbnail image viewer- ?Dynamic Drive ...

  2. javascript显示本地服务器图片,JavaScript图片本地预览功能的实现方法

    这篇文章主要介绍了JavaScript实现图片本地预览功能,针对非IE浏览器的HTML5滤镜功能及IE浏览器的相关组件功能实现不上传至服务器预览本地图片的效果,需要的朋友可以参考下 本文实例讲述了Ja ...

  3. HTML完成如下网页效果代码,JS实现可直接显示网页代码运行效果的HTML代码预览功能实例...

    本文实例讲述了JS实现可直接显示网页代码运行效果的HTML代码预览功能.分享给大家供大家参考.具体如下: JavaScript实现HTML代码预览功能,直接在网页上显示代码运行的效果,就例如点击&qu ...

  4. js直接显示html,JS实现可直接显示网页代码运行效果的HTML代码预览功能实例.pdf...

    JS实实现现可可直直接接显显示示网网页页代代码码运运行行效效果果的的HTML代代码码预预览览功功能能实实例例 本文实例讲述了JS实现可直接显示网页代码运行效果的HTML代码预览功能.分享给大 供大 参 ...

  5. php单图上传并预览,JavaScript实现单图片上传并预览功能

    本文实例为大家分享了JavaScript实现单图片上传并预览功能的具体代码,供大家参考,具体内容如下 单图片上传并实现预览 /*上传图片*/ .addPerson{ line-height: 190p ...

  6. window下实现在线预览功能

    window下实现在线预览功能 最近用到文档在线预览功能,之前没接触过,一切从零开始,整了一段时间终于实现,现在把方法分享给大家! 一.主要思路 先将其他格式的文档(office文档.txt.图片等等 ...

  7. Java实现图片裁剪预览功能

    Java实现图片裁剪预览功能 在项目中,我们需要做些类似头像上传,图片裁剪的功能,ok看下面文章! 需要插件:jQuery Jcrop 后端代码: package org.csg.upload;imp ...

  8. Java实现在线预览功能

    java实现在线预览功能,需要用到  jacob.dll jacob.jar   预览pdf所需js  pdfobject.min.js 将上传文件转为pdf保存. <divclass=&quo ...

  9. 微信小程序实现图片是上传、预览功能

    本文实例讲述了微信小程序实现图片上传.删除和预览功能的方法,分享给大家供大家参考,具体如下: 这里主要介绍一下微信小程序的图片上传图片删除和图片预览 1.可以调用相机也可以从本地相册选择 2.本地实现 ...

最新文章

  1. ImportError:cannot import name ‘display‘ File “XX“, line 5, in <module> from IPython import display
  2. 【计算机网络】传输层 : TCP 流量控制 ( 流量控制过程 | 持续计时器机制 )
  3. 第二阶段团队项目冲刺第七天
  4. mysql怎么禁止远程连接_mysql禁止远程访问
  5. mysql command line client 目标不对_MySql轻松入门系列-第一站 从源码角度轻松认识mysql整体框架图...
  6. 抄袭一些别人工作中的小技巧
  7. php可以支持代码重用技术的命令,Linux下的编程 PHP高级技巧全放送(一)
  8. 网宿科技与国汽智控达成战略合作 共推智能网联汽车技术落地
  9. Codeforces 853C - Boredom
  10. 学习打卡-2018/08/13
  11. PFQ: a Linux kernel module for packet capturing on multi-core architectures
  12. 阿里云盘 PC 版上线,百度网盘 SVIP 功能全免费
  13. openlayers学习——13、openlayers比例尺
  14. 游戏本自动掉帧_老显卡战新游戏 GTX1060游戏本 近期游戏大作画面设定指南
  15. Excel 中统计全表所有人名各出现了多少次
  16. Java线程池七个参数详解:核心线程数、最大线程数、空闲线程存活时间、时间单位、工作队列、线程工厂、拒绝策略
  17. Python-数组切片
  18. Oracle统计分析
  19. Javaweb入职第二天
  20. 这些用 Python 写的牛逼程序/脚本,你玩过吗?

热门文章

  1. 【控制理论】MPC(一)
  2. 《初级会计实务》考试学习分享之第八章 ——政府会计基础【考试大纲】
  3. unity游戏场景设计
  4. 联想宣布推出升级版数据中心产品组合——搭载全新英特尔(R)处理器和持久性内存且安全性增强
  5. 100集华为HCIE安全培训视频教材整理 | Agile Controller产品定位
  6. Centos7 Jenkins 下载安装-----看此文章即可
  7. ADNI-python实现批量nii和dcm文件转换为png图像
  8. java 锁 面试题_Java面试题-Java中的锁
  9. 【网络原理7】认识HTTP
  10. 服务器上的404页面