JS实现关闭图片窗口

news2024/10/7 18:30:36

JS实现关闭图片窗口

有趣的小案例池子
JS实现定时器
JS实现关闭图片窗口
JS实现输入检验
获取焦点后隐藏提示内容的输入框
JS实现获取鼠标在画布中的位置
聊天信息框显示消息
JS点击切换背景图
自动切换背景的登录页面
JS制作跟随鼠标移动的图片
JS实现记住用户密码

结果演示

在这里插入图片描述

概述

通过事件的绑定来实现,关闭网页中某个图片窗口的效果。

构建HTML框架

<body>
    <div class="box">
        图片
        <img src="https://upload-bbs.mihoyo.com/upload/2021/03/11/73281682/f810fbc2e4806aab8176e96feee0078e_5530265271028193466.jpg" alt="">
        <i class="close-btn">×</i>
    </div>
</body>

CSS样式

<style>
        .box {
            /* 设置相对定位 */
            position: relative;
            /* 设置盒子的宽高 */
            width: 74px;
            height: 88px;
            /* 设置边框的样式 */
            border: 1px solid #ccc;
            /* 设置距离上方100px 左右居中 */
            margin: 100px auto;
            /* 设置字体大小为12px */
            font-size: 12px;
            /* 设置文本排列居中 */
            text-align: center;
            
            /* 设置颜色为橙色 */
            color: #f40;            
        }
        
        .box img {
            /* 设置图片的宽度 */
            width: 60px;
            height: 60px;
            /* 设置图片的上方外边距 */
            margin-top: 5px;
        }
        
        .close-btn {
            /* 设置绝对定位 */
            position: absolute;
            /* 确定内容的位置 */
            top: -1px;
            left: -16px;

            /* 确定内容的大小 */
            width: 14px;
            height: 14px;
            /* 设置边框的颜色和样式 */
            border: 1px solid #ccc;
            /* 设置行高 */
            line-height: 14px;
            /* 设置字体样式 */
            font-family: Arial, Helvetica, sans-serif;
            /* 设置鼠标悬浮在上面的时候的样式 */
            cursor: pointer;
        }
    </style>

JS逻辑

<script>
        // 1. 获取元素 
        var btn = document.querySelector('.close-btn');
        var box = document.querySelector('.box');
        // 2.注册事件 程序处理
        btn.onclick = function() {
            // 设置display为none 也就是不再显示二维码
            box.style.display = 'none';
        }
    </script>

完整代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        .box {
            /* 设置相对定位 */
            position: relative;
            /* 设置盒子的宽高 */
            width: 74px;
            height: 88px;
            /* 设置边框的样式 */
            border: 1px solid #ccc;
            /* 设置距离上方100px 左右居中 */
            margin: 100px auto;
            /* 设置字体大小为12px */
            font-size: 12px;
            /* 设置文本排列居中 */
            text-align: center;
            
            /* 设置颜色为橙色 */
            color: #f40;            
        }
        
        .box img {
            /* 设置图片的宽度 */
            width: 60px;
            height: 60px;
            /* 设置图片的上方外边距 */
            margin-top: 5px;
        }
        
        .close-btn {
            /* 设置绝对定位 */
            position: absolute;
            /* 确定内容的位置 */
            top: -1px;
            left: -16px;

            /* 确定内容的大小 */
            width: 14px;
            height: 14px;
            /* 设置边框的颜色和样式 */
            border: 1px solid #ccc;
            /* 设置行高 */
            line-height: 14px;
            /* 设置字体样式 */
            font-family: Arial, Helvetica, sans-serif;
            /* 设置鼠标悬浮在上面的时候的样式 */
            cursor: pointer;
        }
    </style>
</head>

<body>
    <div class="box">
        图片
        <img src="https://upload-bbs.mihoyo.com/upload/2021/03/11/73281682/f810fbc2e4806aab8176e96feee0078e_5530265271028193466.jpg" alt="">
        <i class="close-btn">×</i>
    </div>
    <script>
        // 1. 获取元素 
        var btn = document.querySelector('.close-btn');
        var box = document.querySelector('.box');
        // 2.注册事件 程序处理
        btn.onclick = function() {
            // 设置display为none 也就是不再显示二维码
            box.style.display = 'none';
        }
    </script>
</body>

</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/66097.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

K8S Pod控制器详细讲解

文章目录一、Pod控制器介绍二、ReplicaSet(RS)三、Deployment(Deploy)1.镜像更新&#xff1a;2.版本回退3.金丝雀发布/灰度发布四、Horizontal Pod Autoscaler(HPA)五、DaemonSet(DS)六、Job七、CronJob(CJ)结尾一、Pod控制器介绍 Pod是kubernetes的最小管理单元&#xff0c;在…

ArcGIS矢量化并进行拓扑检查

土地利用数据每年都在发生变化&#xff0c;故每年都要根据去年的数据进行修改。请根据以下要求&#xff0c;修改A区域的数据并对B区域已做好的数据进行拓扑检查。 01 数据说明 1. 地类图斑A.shp&#xff1a;A区域需要编辑修改的图斑数据。 2. 影像.tif&#xff1a;编辑A区域…

Docker数据卷自定义Docker镜像

目录 宿主机与容器之间的文件拷贝 引言&#xff1a;利用MySQL镜像安装MySQL服务 从容器中拷贝文件到宿主机 从宿主机拷贝文件到容器 数据卷 数据卷容器 Dockerfile自定义镜像 自定义tomcat8&#xff08;熟悉几乎所有的Dockerfile命令&#xff09; 宿主机与容器之间的文…

集群配置步骤_java培训

配置步骤 复制3个ZooKeeper zookeeper-3.4.9.tar.gz解压后拷贝到/myzookeeper目录下并重新名为zk01&#xff0c;再复制zk01形成zk02、zk03&#xff0c;共计3份 新增目录 进入zk01/02/03分别新建文件夹&#xff0c;mydata、mylog 新建配置文件 分别进入zk01-zk03各自的conf文件…

perflab 课程设计

初始状态 rotate 版本I 因为本题步步都在寻址而寻址的目标每一步又不同&#xff0c;并且在一个地址的值一次就赋值完毕&#xff0c;不会对同一个地址进行二次寻址&#xff0c;所以我首先想的改进方向就是使得寻址更加快速&#xff0c;于是我使得寻址的地址更加连续。 int i,…

【面试题】 javaScript 进阶之路 --- 《加深理解回调函数》

给大家推荐一个实用面试题库 1、前端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★ 地址&#xff1a;前端面试题库 一. 函数 回调函数的基本概念我之前的文章虽然有些过&#xff0c;但是为了引入下文&#xff0c;在这里还是简单再提一嘴…

苹果电脑ntfs如何打开硬盘?mac能读取的硬盘格式

如今&#xff0c;使用Mac电脑的用户越来越多&#xff0c;但是不少用户却面临着一个问题&#xff0c;那就是Mac无法正常读写自己的NTFS格式的外置硬盘&#xff0c;硬盘上面保存着很多重要的文件数据&#xff0c;想要进行复制或者是编辑等&#xff0c;压根没有办法在Mac电脑上进行…

axios和SpringMVC数据交互(一维二维数组,JSON/form形式,@RequestBody/@RequestParam)

目录需求环境准备前端后端成功实现的案例以JSON形式发送double数组以JSON形式发送对象&#xff0c;对象中有数组以JSON形式发送对象&#xff0c;对象中有二维数组以x-www-form-urlencoded形式发送一维数组需求 前端或postman发送数组&#xff0c;后端controller做为入参接收 …

汽车专场 | 新能源汽车动力电池PACK CAE分析实例解读

一、PACK为什么需要CAE分析&#xff1f; PACK是新能源汽车最重要的组成部分&#xff0c;可称之为心脏&#xff0c;电池系统需要满足汽车运营条件下的苛刻力学环境的要求。按照传统研发方式&#xff0c;设计-样包-测试-优化-样包-测试&#xff0c;反复循环&#xff0c;这种传统…

学完高性能计算后的发展怎么样?

高性能计算行业是指从事高性能计算相关性质的生产、服务的单位或个体的组织结构体系的总称。深刻认知高性能计算行业定义&#xff0c;对预测并引导高性能计算行业前景&#xff0c;指导行业投资方向至关重要。 一、什么是高性能计算&#xff1f; 高性能计算指通常使用很多处理…

音视频学习(十四)——rtsp详解

概念 rtsp&#xff08;Real Time Streaming Protocol&#xff0c;RFC2326&#xff09;&#xff0c;实时流传输协议&#xff0c;是TCP/IP协议体系中的一个应用层协议。 该协议主要规定了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP体系结位于RTP和RTCP之上&#…

etsy账号被封的原因有哪些?

Etsy之所以让人又爱又恨&#xff0c;是因为它的流量大&#xff0c;但缺点是规则限制&#xff0c;尤其是对于中国卖家。根据各大社交媒体的留言和评论&#xff0c;大多数电商人最关心Etsy关店的问题。   为什么Etsy会被封号&#xff1f;首先&#xff0c;我们需要了解封号的原因…

高压放大器的输入和输出阻抗为啥是50欧的

选择高压放大器的时候&#xff0c;经常会看到有些高压放大器的输入和输出阻抗都是50欧&#xff0c;今天就来说说高压放大器和无处不在的50欧姆&#xff0c;来聊聊它们的关系。 电子测量仪器在使用的时候会出现电子信号幅度突然加倍或者减少一半的情况&#xff0c;原因是几乎所有…

用echarts实现柱状图

目录前言&#xff1a;什么是 Echarts 插件柱状图成品展示步骤&#xff1a;柱状图代码&#xff1a;前言&#xff1a; 大家都知道&#xff0c;一般情况下&#xff0c;想要使用前端设置一个 柱状图 需要使用 canvas 画布进行编写&#xff0c;不仅代码多&#xff0c;逻辑处理麻烦&…

搭建Nacos集群

nacos的默认端口是8848&#xff0c;但是他还占用了另外两个接口&#xff1a;9848、9849。因此&#xff0c;在单机配置集群时&#xff0c;不可使用三个连续的端口&#xff0c;否则会导致 gRPC端口冲突。 端口与主端口&#xff08;8848&#xff09;偏移量作用98481000客户端gRPC…

7.javase_数组1

一. 数组定义格式 格式1&#xff1a;数据类型[] 变量名; 范例&#xff1a;int[] arr; 格式2&#xff1a;数据类型 变量名[]; 范例&#xff1a; int arr[];二. 数组初始化方式 1.1静态初始化&#xff1a;【初始化时指定每个数组元素的初始值&#xff0c;由系统决定数组长度】格…

ARFoundation系列讲解 - 89 适配华为机型

一、简介 使用 ARCore 开发安卓应用的时候,由于谷歌的制裁和鸿蒙系统的不兼容,导致华为大部分机型无法使用,而国内使用华为设备的群体占比较大的比例所以兼容华为设备是一个绕不过的坎。这个章节我们将学习使用 HuaweiAREngine 结合 ARFoundation 兼容使用来解决这个问题。 …

职业教育数字化成行业发展新方向

2022年,职业教育正迎来新的风口。随着与普通教育同等重要的地位得到确认,职业教育将肩负起建设与我国经济结构转型需求相匹配的人才供给的重任,在社会服务业、战略新兴行业等各大领域中大放异彩。 一、职业教育是什么? 1、职业教育定义 联合国教科文组织认为职业教育(Vocat…

PID控制器的远程设定点功能及其应用

摘要&#xff1a;远程设定点功能是超高精度PID控制器的重要拓展功能之一&#xff0c;其在实际自动控制中有着广泛的应用。本文详细介绍了远程设定点的功能和操作设置过程&#xff0c;同时还介绍了远程设定点功能在跟踪控制、串级控制和比值控制中的具体应用。 原文阅读&#x…

争议不断的AI绘画,靠啥成为了顶流?

今年以来&#xff0c;AIGC迅速崛起。所谓AIGC&#xff0c;即AI-Generated Content&#xff0c;指的是利用人工智能来生成内容&#xff0c;被认为是继专业产出内容&#xff08;PGC&#xff09;、用户产出内容&#xff08;UGC&#xff09;后的新型内容创作方式。不久前掀起热议的…