网站中常用的幻灯片和模态框,使用 HTML、JavaScript 与 CSS 来创建 Lightbox,类似相册预览功能。可以运用到视频网站,商城,相册上去

参考了菜鸟教程,有兴趣自己去看

HTML//写代码时,HTML记得包裹顺序就行,其他的往下写,搭建结构

  1. <!-- 图片改为你的图片地址 -->
  2. <h2 style="text-align:center">Lightbox</h2>
  3.  
  4. <div class="row">
  5. <div class="column">
  6. <img src="http://static.runoob.com/images/demo/demo1.jpg" style="width:100%" onclick="openModal();currentSlide(1)" class="hover-shadow cursor">
  7. </div>
  8. <div class="column">
  9. <img src="http://static.runoob.com/images/demo/demo2.jpg" style="width:100%" onclick="openModal();currentSlide(2)" class="hover-shadow cursor">
  10. </div>
  11. <div class="column">
  12. <img src="http://static.runoob.com/images/demo/demo3.jpg" style="width:100%" onclick="openModal();currentSlide(3)" class="hover-shadow cursor">
  13. </div>
  14. <div class="column">
  15. <img src="http://static.runoob.com/images/demo/demo4.jpg" style="width:100%" onclick="openModal();currentSlide(4)" class="hover-shadow cursor">
  16. </div>
  17. </div>
  18.  
  19. <div id="myModal" class="modal">
  20. <span class="close cursor" onclick="closeModal()">&times;</span>
  21. <div class="modal-content">
  22.  
  23. <div class="mySlides">
  24. <div class="numbertext">1 / 4</div>
  25. <img src="http://static.runoob.com/images/demo/demo1.jpg" style="width:100%">
  26. </div>
  27.  
  28. <div class="mySlides">
  29. <div class="numbertext">2 / 4</div>
  30. <img src="http://static.runoob.com/images/demo/demo2.jpg" style="width:100%">
  31. </div>
  32.  
  33. <div class="mySlides">
  34. <div class="numbertext">3 / 4</div>
  35. <img src="http://static.runoob.com/images/demo/demo3.jpg" style="width:100%">
  36. </div>
  37.  
  38. <div class="mySlides">
  39. <div class="numbertext">4 / 4</div>
  40. <img src="http://static.runoob.com/images/demo/demo4.jpg" style="width:100%">
  41. </div>
  42.  
  43. <a class="prev" onclick="plusSlides(-1)"></a>
  44. <a class="next" onclick="plusSlides(1)"></a>
  45.  
  46. <div class="caption-container">
  47. <p id="caption"></p>
  48. </div>
  49.  
  50. <div class="column">
  51. <img class="demo cursor" src="http://static.runoob.com/images/demo/demo1.jpg" style="width:100%" onclick="currentSlide(1)" alt="Nature and sunrise">
  52. </div>
  53. <div class="column">
  54. <img class="demo cursor" src="http://static.runoob.com/images/demo/demo2.jpg" style="width:100%" onclick="currentSlide(2)" alt="Trolltunga, Norway">
  55. </div>
  56. <div class="column">
  57. <img class="demo cursor" src="http://static.runoob.com/images/demo/demo3.jpg" style="width:100%" onclick="currentSlide(3)" alt="Mountains and fjords">
  58. </div>
  59. <div class="column">
  60. <img class="demo cursor" src="http://static.runoob.com/images/demo/demo4.jpg" style="width:100%" onclick="currentSlide(4)" alt="Northern Lights">
  61. </div>
  62. </div>
  63. </div>

css//主要是利用浮动,定位,显示,背景,边框等把效果做出来

  1. body {
  2. font-family: Verdana, sans-serif;
  3. margin:;
  4. }
  5.  
  6. * {
  7. box-sizing: border-box;
  8. }
  9.  
  10. .row > .column {
  11. padding: 0 8px;
  12. }
  13.  
  14. .row:after {
  15. content: "";
  16. display: table;
  17. clear: both;
  18. }
  19.  
  20. .column {
  21. float: left;
  22. width: 25%;
  23. }
  24.  
  25. /* 弹窗背景 */
  26. .modal {
  27. display: none;
  28. position: fixed;
  29. z-index:;
  30. padding-top: 100px;
  31. left:;
  32. top:;
  33. width: 100%;
  34. height: 100%;
  35. overflow: auto;
  36. background-color: black;
  37. }
  38.  
  39. /* 弹窗内容 */
  40. .modal-content {
  41. position: relative;
  42. background-color: #fefefe;
  43. margin: auto;
  44. padding:;
  45. width: 90%;
  46. max-width: 1200px;
  47. }
  48.  
  49. /* 关闭按钮 */
  50. .close {
  51. color: white;
  52. position: absolute;
  53. top: 10px;
  54. right: 25px;
  55. font-size: 35px;
  56. font-weight: bold;
  57. }
  58.  
  59. .close:hover,
  60. .close:focus {
  61. color: #999;
  62. text-decoration: none;
  63. cursor: pointer;
  64. }
  65.  
  66. .mySlides {
  67. display: none;
  68. }
  69.  
  70. .cursor {
  71. cursor: pointer
  72. }
  73.  
  74. /* 上一页 & 下一页 按钮 */
  75. .prev,
  76. .next {
  77. cursor: pointer;
  78. position: absolute;
  79. top: 50%;
  80. width: auto;
  81. padding: 16px;
  82. margin-top: -50px;
  83. color: white;
  84. font-weight: bold;
  85. font-size: 20px;
  86. transition: 0.6s ease;
  87. border-radius: 0 3px 3px 0;
  88. user-select: none;
  89. -webkit-user-select: none;
  90. }
  91.  
  92. /* 定位下一页按钮到右侧 */
  93. .next {
  94. right:;
  95. border-radius: 3px 0 0 3px;
  96. }
  97.  
  98. /* 鼠标移动上去修改背景色为黑色 */
  99. .prev:hover,
  100. .next:hover {
  101. background-color: rgba(0, 0, 0, 0.8);
  102. }
  103.  
  104. /* 页数(1/3 etc) */
  105. .numbertext {
  106. color: #f2f2f2;
  107. font-size: 12px;
  108. padding: 8px 12px;
  109. position: absolute;
  110. top:;
  111. }
  112.  
  113. img {
  114. margin-bottom: -4px;
  115. }
  116.  
  117. .caption-container {
  118. text-align: center;
  119. background-color: black;
  120. padding: 2px 16px;
  121. color: white;
  122. }
  123.  
  124. .demo {
  125. opacity: 0.6;
  126. }
  127.  
  128. .active,
  129. .demo:hover {
  130. opacity:;
  131. }
  132.  
  133. img.hover-shadow {
  134. transition: 0.3s
  135. }
  136.  
  137. .hover-shadow:hover {
  138. box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19)
  139. }

JS//实现动态效果,主要是第一控制样式,第二是控制幻灯片,点击时能到对应的位子显示对应的图片内容

  1. <script>
  2. //点击图片时打开模态框display来控制
  3. function openModel()
  4. { document.getElementById("myModal").style.display="block";}
  5. //当点击关闭按钮是将模态框关闭display为none;
  6. function closeModal()
  7. { document.getElementById('myModal').style.display = "none";}
  8. //当点击模态框外的地方关闭模态框
  9. window.onclick=function(ev){
  10. var model=document.getElementById('myModal')
  11. if(ev.target!=="model"){
  12. model.style.display = "none";
  13. }
  14. }
  15. //设计一个显示幻灯片的函数
  16. var slideIndex = 1;//默认显示第一张
  17. function showSlides(){
  18. //获得幻灯片和幻动片控制器
  19. var slides = document.getElementsByClassName("mySlides");
  20. var dots = document.getElementsByClassName("demo");
  21. //获得每个幻灯片显示的标题
  22. var captionText = document.getElementById("caption");
  1. slideIndex++;
  1. //判断万一输入的数字大于幻灯片数怎么办,让他回到第一张
  2.  
  3. if(slideIndex>slides.length) {slideIndex = 1};
  4.  
  5. //反之万一小于呢,就让他回到最后一张(当然也可以自己决定)
  1. if(n<1) {slideIndex =slides.length };
    //先把所有幻灯片隐藏起来
  2. for(var i=0;i<slides.length;i++){
  3. slides[i].style.display="none";
  4. }
  5. //给幻灯片控制器一个样式,否则不知道是不是这个控制器有没有用
  6. for (var j = 0; j < dots.length; j++) {
  7. dots[j].className = dots[j].className.replace(" active", "");
  8. }
  9. //下面就是把当传入的值是哪个就让他显示哪个,slideIndex控制幻灯片(他可以是任何东西)
  10. slides[slideIndex-1].style.display = "block";
  11. dots[slideIndex-1].className += " active";
  12. //把幻灯片标题显示过来
  13. captionText.innerHTML = dots[slideIndex-1].alt;
  14. setTimeout(showSlides, 1000); // 切换时间为 1 秒
  15. };
  16. //运行这个函数
  17. showSlides(slideIndex);
  18. //在注册两个前进后退的函数
  19. function plusSlides(n) {
  20. showSlides(slideIndex += n);
  21. }
  22. function currentSlide(n) {
  23. showSlides(slideIndex = n);
  24. }
  25. //用定时器可以设置自动播放
  26. </script>

JS 实现图片模态框,幻灯片,跑马灯功能的更多相关文章

  1. 使用JS实现图片轮播滚动跑马灯效果

    我的第一篇文章.哈哈.有点小鸡冻.  之前在百度搜索"图片轮播"."图片滚动",结果都是那种可以左右切换的.也是我们最常见的那种.可能是搜索 关键字的问题吧. ...

  2. 使用bootstrap的JS插件实现模态框效果

    在上一篇文章中,我们使用 js+css 实现了模态框效果,在理解了模态框的基本实现方法和实现效果后,我们就要寻找更快捷的方法,又快又好的来完成模态框开发需求,从而节约时间,提高效率.一个好的轮子,不仅 ...

  3. js控制Bootstrap 模态框(Modal)插件

    js控制Bootstrap 模态框(Modal)插件 http://www.cnblogs.com/zzjeny/p/5564400.html

  4. Dom实例:数据自增、搜索框及跑马灯

    数据自增 功能:当点击add按扭后,div标签中的数据自动+1,实现网页的动态化 <!DOCTYPE html> <html lang="en"> < ...

  5. JS学习笔记(模态框JS传参)

    博主最近基于django框架的平台第一版差不多完成了 今天整理下开发过程中遇到的前端知识 基于前端bootstrap框架模态框传参问题 上前端html代码: <div class="m ...

  6. JS /CSS 实现模态框(注册和登录组件)

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  7. 使用js实现显示系统当前时间并实现倒计时功能并触发模态框(遮罩)功能

    常常在我们的网页中需要倒计时来触发一些函数,例如遮罩等,在本项目中,通过使用jquery,bootstrap,实现了显示系统当前时间,并且实现了倒计时的功能,倒计时实现后将会弹出模态框(遮罩层).模态 ...

  8. JavaScript进阶(八)JS实现图片预览并导入服务器功能

    JS实现导入文件功能       赠人玫瑰,手留余香.若您感觉此篇博文对您有用,请花费2秒时间点个赞,您的鼓励是我不断前进的动力,共勉!(PS:此篇博文是自己在午饭时间所写,为此没吃午饭,这就是程序猿 ...

  9. 原生JS实现图片上传并预览功能

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

随机推荐

  1. 融云消息接口apicloud

    融云提供消息发送服务,支持个人消息,群消息,讨论组,聊天室消息, 以下是它涉及到的接口. 初始化,连接之后,可以使用. <!DOCTYPE html> <html> <h ...

  2. 26. Intellij IDEA 启动项目ClassNotFoundException

    转自:https://blog.csdn.net/zhw0596/article/details/81388147 使用Intellij IDEA  的过程中,新创建的项目启动时报 严重: Error ...

  3. Spring MVC -- UEditor 编辑器整合入门

    仅作为入门测试...... 下载UEditor资源 使用maven项目 <!-- 上传文件的支持 --> <dependency> <groupId>commons ...

  4. Hive的单节点集群详细启动步骤

    说在前面的话, 在这里,推荐大家,一定要先去看这篇博客,如下 再谈hive-1.0.0与hive-1.2.1到JDBC编程忽略细节问题 Hadoop Hive概念学习系列之hive三种方式区别和搭建. ...

  5. Json 序列化以及反序列化的三种方式(二)

    1.什么是JSON? Json[javascript对象表示方法],它是一个轻量级的数据交换格式,我们可以很简单的来读取和写它,并且它很容易被计算机转化和生成,它是完全独立于语言的 2.Json支持下 ...

  6. 威联通212P 在admin用户密码正确情况下仍然无法登录WEB页面解决办法

    *登录 telnet 执行以下语句: [~] # cp /etc/default_config/passwd /mnt/HDA_ROOT/.config/passwd[~] # cp /etc/def ...

  7. appid、appkey、appsecret、accesstoken,消息模板

    app_id, app_key, app_secret , 对于平台来说, 需要给你的 你的开发者账号分配对应的权限:1. app_id 是用来标记你的开发者账号的, 是你的用户id, 这个id 在数 ...

  8. Javascript 模块化理解

    原始时代: script标签引入javascript文件 -------- html ------- <div id="result"></div> < ...

  9. selenium+python 安装使用

    一.序言 selenium官网selenium简单教程selenium完整教程python基础教程 二.安装python3 https://www.python.org/downloads/relea ...

  10. codeforces 140E.New Year Garland

    传送门: 解题思路: 要求相邻两行小球颜色集合不同,并且限制行内小球相邻不同. 由此可得:每行小球排列都是独立与外界的, 所以答案应该是对于所有行的颜色集合分类,在将行内的答案乘到上面. 先考虑如何分 ...