学习JavaScript笔记

简介: 学习JavaScript笔记

JavaScript 图片弹窗


介绍如何使用 JavaScript 与 CSS 来创建图片弹窗。

图片素材:

image.png

文本描述信息

HTML 代码:

<!-- 触发弹窗 - 图片改为你的图片地址 -->

<img decoding="async" loading="lazy" id="myImg" src="img.jpg" alt="文本描述信息" width="300" height="200">

 

<!-- 弹窗 -->

<div id="myModal" class="modal">

 

 <!-- 关闭按钮 -->

 <span class="close" onclick="document.getElementById('myModal').style.display='none'">&times;</span>

 

 <!-- 弹窗内容 -->

 <img class="modal-content" id="img01">

 

 <!-- 文本描述 -->

 <div id="caption"></div>

</div>

CSS 代码:

/* 触发弹窗图片的样式 */

#myImg {

   border-radius: 5px;

   cursor: pointer;

   transition: 0.3s;

}

 

#myImg:hover {opacity: 0.7;}

 

/* 弹窗背景 */

.modal {

   display: none; /* Hidden by default */

   position: fixed; /* Stay in place */

   z-index: 1; /* Sit on top */

   padding-top: 100px; /* Location of the box */

   left: 0;

   top: 0;

   width: 100%; /* Full width */

   height: 100%; /* Full height */

   overflow: auto; /* Enable scroll if needed */

   background-color: rgb(0,0,0); /* Fallback color */

   background-color: rgba(0,0,0,0.9); /* Black w/ opacity */

}

 

/* 图片 */

.modal-content {

   margin: auto;

   display: block;

   width: 80%;

   max-width: 700px;

}

 

/* 文本内容 */

#caption {

   margin: auto;

   display: block;

   width: 80%;

   max-width: 700px;

   text-align: center;

   color: #ccc;

   padding: 10px 0;

   height: 150px;

}

 

/* 添加动画 */

.modal-content, #caption {  

   -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)}

}

 

/* 关闭按钮 */

.close {

   position: absolute;

   top: 15px;

   right: 35px;

   color: #f1f1f1;

   font-size: 40px;

   font-weight: bold;

   transition: 0.3s;

}

 

.close:hover,

.close:focus {

   color: #bbb;

   text-decoration: none;

   cursor: pointer;

}

 

/* 小屏幕中图片宽度为 100% */

@media only screen and (max-width: 700px){

   .modal-content {

       width: 100%;

   }

}

JavaScript 代码:

// 获取弹窗

var modal = document.getElementById('myModal');

 

// 获取图片插入到弹窗 - 使用 "alt" 属性作为文本部分的内容

var img = document.getElementById('myImg');

var modalImg = document.getElementById("img01");

var captionText = document.getElementById("caption");

img.onclick = function(){

   modal.style.display = "block";

   modalImg.src = this.src;

   captionText.innerHTML = this.alt;

}

 

// 获取 <span> 元素,设置关闭按钮

var span = document.getElementsByClassName("close")[0];

 

// 当点击 (x), 关闭弹窗

span.onclick = function() {  

 modal.style.display = "none";

}

目录
相关文章
|
3月前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
60 0
|
2月前
|
Web App开发 JavaScript 前端开发
如何学习JavaScript?
如何学习JavaScript?
54 5
|
2月前
|
JavaScript 前端开发 索引
JavaScript学习第二章--字符串
本文介绍了JavaScript中的字符串处理,包括普通字符串和模板字符串的使用方法及常见字符串操作方法如`charAt`、`concat`、`endsWith`等,适合前端学习者参考。作者是一位热爱前端技术的大一学生,专注于分享实用的编程技巧。
34 2
|
2月前
|
存储 JavaScript 前端开发
JavaScript学习第一章
本文档介绍了JavaScript的基础知识,包括其在网页中的作用、如何通过JavaScript动态设置HTML元素的CSS属性,以及JavaScript中的变量类型(`var`、`let`、`const`)和数据类型(基本数据类型与引用数据类型)。通过实例代码详细解释了JavaScript的核心概念,适合初学者入门学习。
57 1
|
3月前
|
JavaScript
webpack学习五:webpack的配置文件webpack.config.js分离,分离成开发环境配置文件和生产环境配置文件
这篇文章介绍了如何将webpack的配置文件分离成开发环境和生产环境的配置文件,以提高打包效率。
59 1
webpack学习五:webpack的配置文件webpack.config.js分离,分离成开发环境配置文件和生产环境配置文件
|
3月前
|
JavaScript
js学习--商品列表商品详情
js学习--商品列表商品详情
33 2
|
3月前
|
JavaScript
js学习--九宫格抽奖
js学习--九宫格抽奖
24 2
|
3月前
|
JavaScript
js学习--开屏弹窗
js学习--开屏弹窗
51 1
|
3月前
|
JavaScript
js学习--抽奖
js学习--抽奖
26 1
|
3月前
|
JavaScript
js学习--隔行换色
js学习--隔行换色
34 1