实现简易开屏弹窗

要实现一个简易的开屏弹窗,并展示一些文章内容,以下是一个简单的HTML和CSS实现。这个弹窗会在页面加载时显示,并包含一个标题和一些文章内容。用户可以点击按钮关闭弹窗,关闭后,弹窗的状态会保存在浏览器的 sessionStorage 中,这样在同一会话期间,页面刷新后不会再显示弹窗。
代码示例:

<!DOCTYPE html>
<html lang="zh">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>开屏弹窗示例</title><style>/* 设置全局样式 */* {margin: 0;padding: 0;box-sizing: border-box;}/* 弹窗外部遮罩层样式 */.overlay {position: fixed;top: 0;left: 0;width: 100vw;height: 100vh;background-color: rgba(0, 0, 0, 0.5); /* 半透明黑色背景 */display: none; /* 初始隐藏 */justify-content: center;align-items: center;}/* 弹窗框样式 */.popup {width: 80%;max-width: 600px;background-color: white;border-radius: 20px;padding: 20px;box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);}/* 标题样式 */.popup h1 {font-size: 24px;margin-bottom: 20px;}/* 文章内容样式 */.popup p {font-size: 16px;line-height: 1.6;margin-bottom: 20px;}/* 按钮样式 */.close-btn {display: inline-block;padding: 10px 20px;background-color: #4CAF50;color: white;font-size: 16px;border: none;border-radius: 5px;cursor: pointer;}.close-btn:hover {background-color: #45a049;}</style>
</head>
<body><!-- 遮罩层及弹窗 --><div class="overlay"><div class="popup"><h1>欢迎阅读我们的文章!</h1><p>亲爱的读者,感谢您的光临!我们将为您提供最新的文章内容和游戏资讯。在这篇文章中,我们将讨论关于游戏的一些策略以及如何提高游戏体验。</p><p>本次更新包括对游戏机制的优化和部分英雄的平衡调整,玩家们将能够体验到更加公平和刺激的对战体验。</p><button class="close-btn" onclick="closePopup()">关闭</button></div></div><script>// 获取弹窗和遮罩层元素const overlay = document.querySelector('.overlay');// 关闭弹窗的函数function closePopup() {sessionStorage.setItem('popupClosed', 'true');  // 标记弹窗已关闭overlay.style.display = 'none';  // 隐藏弹窗}// 判断弹窗是否已经关闭if (!sessionStorage.getItem('popupClosed')) {overlay.style.display = 'flex';  // 如果没有关闭,显示弹窗}</script></body>
</html>

代码说明:

  1. HTML 结构

    • overlay:外部遮罩层,覆盖整个页面,具有半透明的黑色背景,用来聚焦弹窗内容。
    • popup:弹窗框,包含标题、文章内容和关闭按钮。
    • 文章内容放在 <p> 标签中,你可以根据需要编辑文章内容。
  2. CSS 样式

    • overlay 设置为 display: none,初始时不显示弹窗。它通过 flex 布局居中弹窗。
    • 弹窗的样式设置了背景色、圆角、阴影和内边距,使其看起来更美观。
    • 按钮有简单的样式,点击时会改变背景颜色。
  3. JavaScript 功能

    • closePopup() 函数会在用户点击“关闭”按钮时触发,关闭弹窗并将弹窗状态(popupClosed)存储在 sessionStorage 中。sessionStorage 是浏览器提供的存储机制,它会在页面会话结束时清除数据。
    • 页面加载时,如果 sessionStorage 中没有 popupClosed,弹窗就会显示。否则,弹窗会被隐藏。

功能说明:

  • 首次加载:页面加载时弹窗会显示,展示文章内容。
  • 关闭弹窗:用户点击“关闭”按钮后,弹窗会消失,且 sessionStorage 中的 popupClosed 标记为 true。这样即使页面刷新,弹窗也不会再显示,直到会话结束或用户关闭浏览器窗口。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Cesium着色器的创意和方法(五——Polyline)

不接受反驳&#xff0c;线段在三维里面的渲染比多边形的渲染更复杂。因为线是没有宽度的&#xff0c;并且还需要时时刻刻向着你。 首先看下Cesium的线段的一些效果。这条线段非常宽&#xff08;20个像素&#xff09;&#xff0c;有两个需要留意观察的。一是线段并非实时面对我…

头歌——数据库系统原理(数据高级查询实验2)

文章目录 AVG() 函数的使用代码 COUNT() 函数的使用代码 MAX() 函数和 MIN() 函数的使用代码 SUM() 函数的使用代码 AVG() 函数的使用 返回某一字段的平均值 AVG() 函数通过计算某字段&#xff08;列&#xff09;内容&#xff08;行&#xff09;的个数和它们的数值之和来返回某…

【基于轻量型架构的WEB开发】课程 12.5 数据回写 Java EE企业级应用开发教程 Spring+SpringMVC+MyBatis

12.5 数据回写 12.5.1 普通字符串的回写 接下来通过HttpServletResponse输出数据的案例&#xff0c;演示普通字符串的回写&#xff0c;案例具体实现步骤如下。 1 创建一个数据回写类DataController&#xff0c;在DataController类中定义 showDataByResponse()方法&#xff…

软件测试 软考

在软件测试中&#xff0c;覆盖准则是衡量测试用例是否充分覆盖程序各个部分的标准。不同的覆盖准则有不同的强度。按覆盖强度从低到高排序&#xff0c;常见的覆盖准则如下&#xff1a; 语句覆盖&#xff08;Statement Coverage&#xff09;&#xff1a;要求测试用例至少执行一次…

DirectShow过滤器开发-写AVI视频文件过滤器

下载本过滤器DLL 本过滤器将视频流和音频流写入AVI视频文件。 过滤器信息 过滤器名称&#xff1a;写AVI 过滤器GUID&#xff1a;{2EF49957-37DF-4356-A2A0-ECBC52D1984B} DLL注册函数名&#xff1a;DllRegisterServer 删除注册函数名&#xff1a;DllUnregisterServer 过滤器有…

uniapp实现H5和微信小程序获取当前位置(腾讯地图)

之前的一个老项目&#xff0c;使用 uniapp 的 uni.getLocation 发现H5端定位不准确&#xff0c;比如余杭区会定位到临平区&#xff0c;根据官方文档初步判断是项目的uniapp的版本太低。 我选择的方式不是区更新uniapp的版本&#xff0c;是直接使用高德地图的api获取定位。 1.首…

【WRF理论第七期】WPS预处理

【WRF理论第七期】WPS预处理 运行WPS&#xff08;Running the WPS&#xff09;步骤1&#xff1a;Define model domains with geogrid步骤2&#xff1a;Extracting meteorological fields from GRIB files with ungrib步骤3&#xff1a;Horizontally interpolating meteorologic…

机器学习(一)——基本概念、模型的评估与选择

目录 1 关于2 概念2.1 基础概念2.2 学习过程2.3 预测与评估2.4 标记与分类2.4.1 标记2.4.2 分类 2.5 回归分析2.6 聚类分析2.7 学习类型2.8 泛化能力2.9 统计学概念 3 模型评估与选择3.1 经验误差与过拟合3.2 评估方法3.2.1 留出法3.2.2 交叉验证法3.2.3 自助法3.2.4 调参与最终…

小白docker入门简介

Dockerfile入门使用分享 一、docker是啥二、镜像仓库三、自定义镜像四、动手做机甲玩偶五、帮我做数学题六、计算功能的写法七、咒语翻译器八、放屁九、解决问题 一、docker是啥 最开始我和你一样&#xff0c;围着镜像、容器、docker的名词团团转&#xff0c;其实没那么复杂。…

gitlab无法创建合并请求是所有分支都不显示

点击Merge Requests ------> New merge request 创建新的合并请求时&#xff0c;在Source branch和Target branch中一个分支都不显示 排查思路&#xff1a; 1.怀疑是权限问题。 发现只有我的一个账号出现&#xff0c;检查了账号的权限&#xff0c;尝试了master、develop角色…

macOS15.1及以上系统bug:开发者证书无法打开,钥匙串访问无法打开一直出现图标后立马闪退

团队紧跟苹果最新系统发现bug:今日设备信息如下,希望能带给遇到这个问题的开发者一点帮助。 错误图如下: 点击证书文件后,先出现钥匙串访问图标,后立马闪退消失 中间试过很多方法,都是一样的表现,最后好在解决了,看网上也没有相关的帖子,这里直接写解决办法和导致原因…

python实战案例——爬取A站视频,m3u8格式视频抓取(内含完整代码!)

1、任务目标 目标网站&#xff1a;A站视频&#xff08;https://www.acfun.cn/v/ac40795151&#xff09; 要求&#xff1a;抓取该网址下的视频&#xff0c;将其存入本地&#xff0c;视频如下&#xff1a; 2、网页分析 进入目标网站&#xff0c;打开开发者模式&#xff0c;我们发…

【基于轻量型架构的WEB开发】课程 12.4 页面跳转 Java EE企业级应用开发教程 Spring+SpringMVC+MyBatis

12.4 页面跳转 12.4.1 返回值为void类型的页面跳转 返回值为void类型的页面跳转到默认页面 当Spring MVC方法的返回值为void类型&#xff0c;方法执行后会跳转到默认的页面。默认页面的路径由方法映射路径和视图解析器中的前缀、后缀拼接成&#xff0c;拼接格式为“前缀方法…

濮良贵《机械设计》第十版课后习题答案全解PDF电子版

《机械设计》(第十版)是“十二五”普通高等教育本科国家级规划教材&#xff0c; 是在《机械设计》(第九版)的基础上修订而成的。本次修订主要做了以下几项工作&#xff1a; 1. 内容的适当更新——自本书第九版出版以来&#xff0c; 机械工程及相关领域的新理论、新技术和新标准…

【Unity基础】Unity中如何导入字体?

在Unity中&#xff0c;不能像其他软件一样直接使用字体文件&#xff0c;需要通过FontAssetCreator将其转换成Texture的Asset文件&#xff0c;然后才能使用。 本文介绍了使用FontAssetCreator导入字体的过程&#xff0c;并对其参数设置进行了说明。 Font Asset Creator 是 Uni…

2024年11月8日上海帆软用户大会

2024年11月8日上海帆软用户大会 2024年11月8日&#xff0c;上海成功举办了帆软用户大会&#xff0c;主题为“数字聚力&#xff0c;绽放新机”。大会汇聚了众多行业专家和企业代表&#xff0c;共同探讨数字化转型和商业智能领域的最新趋势和实践。 大会亮点&#xff1a; 专家…

注意力机制的目的:理解语义;编码器嵌入高纬空间计算;注意力得分“得到S*V”;解码器掩码和交叉注意力层用于训练;最终的编码器和输出实现大模型

目录 注意力机制的目的:理解语义中的它是小白兔 词编码器嵌入高纬空间 计算注意力得分“得到S*V” 权重QKV:连接权重 训练阶段使用解码器:翻译后的语句 解码器掩码和交叉注意力层用于训练 最终的编码器和输出实现大模型 Transformer模型中,QKV QKV的作用 举例说明…

纯前端实现在线预览excel文件(插件: LuckyExcel、Luckysheet)

概述 在实际开发中&#xff0c;遇到需要在线预览各种文件的需求&#xff0c;最近遇到在线预览excel文件的需求&#xff0c;在此记录一下&#xff01;本文主要功能实现&#xff0c;用于插件 LuckyExcel &#xff0c;Luckysheet&#xff01;废话不多说&#xff0c;上代码&#xf…

WPF自定义翻页控件

XAML文件如下&#xff1a; <UserControlx:Class"CTMVVMDemo.View.UserControls.DataPager"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://s…

Linux中.NET读取excel组件,不会出现The type initializer for ‘Gdip‘ threw an exception异常

组件&#xff0c;可通过nuget安装&#xff0c;直接搜名字&#xff1a; ExcelDataReader using ConsoleAppReadFileData.Model; using ExcelDataReader; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Task…