HTML实现右下角闪烁弹窗

news2024/10/5 22:21:21

演示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

完整HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<style>
    /*右下角弹窗*/
    #winpop {
        width: 300px;
        position: absolute;
        right: 1%;
        bottom: 0;
        border: 1px solid #666;
        margin: 0;
        /*padding: 1px;*/
        overflow: hidden;
        display: none;
        background-color: rgb(255, 255, 255)
    }

    #winpop .title {
        width: 100%;
        background: #ff5100;
        font-weight: bold;
        text-align: center;
        font-size: 12px;
        color: white;
        padding: 7px;
    }

    /*闪烁*/
    #silu {
        width: 300px;
        font-size: 12px;
        color: white;
        position: absolute;
        right: 1%;
        text-align: right;
        bottom: 0;
        text-decoration: underline;
        line-height: 20px;
        background: #ff5100;
        text-decoration: none;
        text-align: center;
        /*闪烁*/
        animation: blink 2s linear infinite;
        -webkit-animation: blink 2s linear infinite;
        -moz-animation: blink 2s linear infinite;
        -ms-animation: blink 2s linear infinite;
        -o-animation: blink 2s linear infinite;
    }

    @keyframes blink{
        0%{opacity: 1;}
        50%{opacity: 0.5;}
        100%{opacity: 1;}
    }
    @-webkit-keyframes blink {
        0% { opacity: 1; }
        50%{opacity: 0.5;}
        100%{opacity: 1;}
    }
    @-moz-keyframes blink {
        0% { opacity: 1; }
        50%{opacity: 0.5;}
        100%{opacity: 1;}
    }
    @-ms-keyframes blink {
        0% { opacity: 1; }
        50%{opacity: 0.5;}
        100%{opacity: 1;}
    }
    @-o-keyframes blink {
        0% { opacity: 1; }
        50%{opacity: 0.5;}
        100%{opacity: 1;}
    }

    a {
        text-decoration: none;
    }
    /*定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸*/
    ::-webkit-scrollbar {
        width: 0.5em;
        height: 0.5em;
        background-color: #c7c7c7;
    }

    /*定义滚动条轨道 内阴影+圆角*/
    ::-webkit-scrollbar-track {
        -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
        border-radius: 10px;
        background-color: #181818;
    }

    /*定义滑块 内阴影+圆角*/
    ::-webkit-scrollbar-thumb {
        border-radius: 3px;
        -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
        background-color: #c7c7c7;
    }
</style>
<body>
<a href="javascript:tips_pop();" id="silu" style="display: none" title="点击查看">系统检测到分辨率异常</a>
<div id="winpop" style="display: none">
    <div class="title">
        <span>异常信息<!--<span class="close" οnclick="tips_pop()" title="关闭">X</span>--></span>
    </div>
    <div style="font-size: 13px;margin: 5%;color: grey;font-weight: bold;text-align: center">
        经系统检测<br/>
        你的屏幕分辨率为
        <span id="notification"></span><br/>建议使用分辨率为 1920*1080<br/><br/>
        <a href="javascript:;" style="margin-right: 20px;color: red" onclick="setResolution();">设置分辨率</a>
        <a href="javascript:;" style="color: gray" onclick="noLoginCancel();">忽略</a>
    </div>
</div>
</body>
<script>
    var screen_width = window.screen.width;
    var screen_height = window.screen.height;
    document.getElementById('winpop').style.height = '0px';

    window.onload = function () {//加载
        if (screen_width != 1920 && screen_height != 1080) {
            document.getElementById("silu").setAttribute("style", "");
        } else {
            document.getElementById("silu").setAttribute("style", "display:none");
        }
    }

    function setResolution() {
        var result = confirm('windows 7操作系统:\n桌面鼠标右键 在下拉菜单中点击“屏幕分辨率”;' +
            '\n\nwindows 10操作系统:\n桌面鼠标右键 在下拉菜单中点击“显示设置”;' +
            '\n\n分辨率:\n建议选择 1920*1080 分辨率\n可对网页进行缩放达到全屏效果 ' +
            '\n\n缩放页面快捷键:\nCtrl +,Ctrl -,可按住Ctrl使用鼠标滚轮进行缩放。');
        if(result==true){
            notificationHide = setInterval("changeH('down')", 2);
        }
    }

    function noLoginCancel() {
        notificationHide = setInterval("changeH('down')", 2);
    }

    function tips_pop() {
        document.getElementById("notification").innerText = screen_width + "*" + screen_height;
        var MsgPop = document.getElementById("winpop");
        var popH = parseInt(MsgPop.style.height);//将对象的高度转化为数字
        if (popH == 0) {
            MsgPop.style.display = "block";//显示隐藏的窗口
            show = setInterval("changeH('up')", 2);
        } else {
            notificationHide = setInterval("changeH('down')", 2);
        }
    }

    function changeH(str) {
        var MsgPop = document.getElementById("winpop");
        var popH = parseInt(MsgPop.style.height);
        if (str == "up") {
            if (popH <= 150) {
                MsgPop.style.height = (popH + 4).toString() + "px";
            } else {
                clearInterval(show);
            }
        }
        if (str == "down") {
            if (popH >= 4) {
                MsgPop.style.height = (popH - 4).toString() + "px";
            } else {
                clearInterval(notificationHide);
                MsgPop.style.display = "none"; //隐藏DIV
            }
        }
    }
</script>
</html>

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

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

相关文章

【系列01】java运算符及运算符优先级[附带目录 按需服用]

运算符、三元运算符、位运算符、拓展赋值、运算优先级、自增自减 运算符 java代码优先级多用括号**,多用括号()**不仅方便而且增加可读性 自增自减 a 是先赋值再增加a 是先增加再赋值上面都表示 a a1;自减同理由 public class Demo05 {public static void main(String[] ar…

CSS3 之属性

文章目录calcborderbox-shadowbackground-image垂直渐变水平渐变左上角渐变渐变方向写法组合background-clipbackground-attachmentword-wrap:break-word&#xff1a;允许长单词换行到下一行;word-wrap:word-break&#xff1a;text-shadow3、字体white-space 设置如何处理元素内…

Java设计模式中建造者模式是啥/建造者模式实现细节是什么/工厂模式,抽象工厂与建造者模式之间区别是啥

继续整理记录这段时间来的收获&#xff0c;详细代码可在我的Gitee仓库SpringBoot克隆下载学习使用&#xff01; 4.6 建造者模式 4.6.1 概述 分离部件构造(由Builder来创建)和装配(Director组装)实现构建与装配解耦用户只需指定复杂对象类型就可得到最终对象&#xff0c;不需…

医药行业应用APS生产排产软件的必要性

高级计划与排程APS生产排产软件(advanced planning and scheduling) 是一个立足于整个企业生产活动的计算机系统。利用APS生产排产软件的管理手段和信息&#xff0c;企业可优化其从制定生产产量到管理最终产品的整个生产流程中的各个环节。利用实时、准确的数据&#xff0c;APS…

umi4 多环境配置改变

umi3 多环境我们可以根据脚本配置环境变量&#xff0c;然后配置不同的umirc 或者config 文件&#xff0c;从而达到配置多环境的效果。 问题描述 umi4 发布了&#xff0c;还是按照umi3 的配置了多环境&#xff0c; package.json 配置 了不同环境运行和编译脚本&#xff1a; co…

Netty进阶——粘包与半包(固定长度方式解决粘包问题)

目录一、固定长度方式解决粘包问题&#xff08;代码示例&#xff09;1.1、固定长度方式解决粘包问题的服务端代码示例1.2、固定长度方式解决粘包问题的客户端代码示例1.3、分别启动服务端&#xff0c;客户端&#xff0c;查看服务端结果输出一、固定长度方式解决粘包问题&#x…

一零四六、Spark性能调优

本文分为四个部分&#xff0c;基本涵盖了所有Spark优化的点&#xff0c;面试和实际工作中必备。 《Spark性能优化&#xff1a;开发调优篇》《Spark性能优化&#xff1a;资源调优篇》《Spark性能优化&#xff1a;数据倾斜调优篇》《Spark性能优化&#xff1a;shuffle调优篇》Spa…

如何在C++ 中调用 Python

在一些场景下&#xff0c;C 通过调用脚本语言实现一些功能会比用C实现更加的方便。 这里要介绍的是pybind11&#xff0c;pybind11 借鉴了“前辈”Boost.Python&#xff0c;能够在 C 和 Python 之间自由转换&#xff0c;任意翻译两者的语言要素&#xff0c;比如把 C 的 vector …

0-1背包 完全背包 (模板)

目录 【模板】01背包_牛客题霸_牛客网 描述 输入描述&#xff1a; 输出描述&#xff1a; 【模板】完全背包_牛客题霸_牛客网 描述 输入描述&#xff1a; 输出描述&#xff1a; 【模板】01背包_牛客题霸_牛客网 描述 你有一个背包&#xff0c;最多能容纳的体积…

使用语义分割架构的文档扫描仪 DeepLabV3

0 介绍 地址:https://learnopencv.com/deep-learning-based-document-segmentation-using-semantic-segmentation-deeplabv3-on-custom-dataset/ 文档扫描是一个背景分割问题,可以使用多种方法解决。 它是计算机视觉广泛使用的应用程序之一。 在本文中,我们将文档扫描视为语…

从动态的角度分析DDR的时序结构

从整体上了解了DDR的特性和静态图&#xff0c;包括原理、管脚图等。那么本章就要从动态的角度来分析时序结构&#xff0c;包括read/write的整个过程到数据返回发生了什么。一&#xff0c;DRAM基本组成对于DRAM&#xff0c;其主要由行和列组成&#xff0c;每一个bit中都是由类似…

84、【栈与队列】leetcode ——1047. 删除字符串中的所有相邻重复项:栈+双指针解法(C++版本)

题目描述 原题链接&#xff1a;1047. 删除字符串中的所有相邻重复项 解题思路 一、栈顶匹配重复元素 本题需要删除重复且相邻元素&#xff0c;存入不重复元素。根据相邻特点&#xff0c;可采用栈进行实现。 当栈顶元素和遍历的字符串中的字符相同时&#xff0c;则将其弹栈。…

spring内置验证码kaptcha,baomidou使用详解

引入pom <dependency><groupId>com.baomidou</groupId><artifactId>kaptcha-spring-boot-starter</artifactId><version>1.1.0</version></dependency>application.yml 配置 kaptcha:height: 50width: 200content:length: 5s…

【Linux从入门到放弃】Linux编辑器——vim的使用

&#x1f9d1;‍&#x1f4bb;作者&#xff1a; 情话0.0 &#x1f4dd;专栏&#xff1a;《Linux从入门到放弃》 &#x1f466;个人简介&#xff1a;一名双非编程菜鸟&#xff0c;在这里分享自己的编程学习笔记&#xff0c;欢迎大家的指正与点赞&#xff0c;谢谢&#xff01; L…

TPM知识点集锦

1. 实体类型&#xff08;Entity Types&#xff09; &#xff08;1&#xff09;永久实体&#xff08;Permanent Entities&#xff09; 层级&#xff08;Hierarchies&#xff09;字典攻击锁定机制&#xff08;the dictionary attack lockout mechanism&#xff09;平台配置寄存…

Python安装torch(含torch和torchvision对应版本)

torch 、torchvision和python的对应版本如下&#xff1a; torch torchvision pythonmaster / nightlymaster / nightly>3.61.7.1 0.8.2>3.61.7.0 0.8.1>3.61.7.00.8.0>3.61.6.00.7.0>3.61.5.10.6.1>3.51.5.00.6.0>3.51.4.00.5.0 2.7, >3.5, <3.81…

HTC红外发射器基站红灯,死机,恢复出厂固件操作步骤

固件路径&#xff1a;C:\Program Files (x86)\Steam\steamapps\common\SteamVR\tools\lighthouse\firmware\lighthouse_tx\archive\htc_2.0 原厂244固件 找到以下两个文件 lighthouse_tx_htc_2_0-calibration-rescue-244.binlighthouse_tx_htc_2_0-244-2016-03-12.bin 1.在…

Python采集二手房源数据信息 基础版, 多线程版

前言 大家早好、午好、晚好吖 ❤ ~ 环境使用: Python 3.8 Pycharm 模块使用: requests >>> pip install requests 数据请求模块 parsel >>> pip install parsel 数据解析模块 re csv 内置模块 安装python第三方模块: win R 输入 cmd 点击确定, 输入…

基础算法(一)——快速排序

快速排序 介绍 快排是一种复杂度O(nlog(n)nlog(n)nlog(n))的排序算法&#xff0c;在极端情况下会退化为O(n2{n}^2n2)&#xff0c;但是它是一种原地算法&#xff0c;即不需要占据额外空间 原理是先在数列中取一个数x&#xff0c;这个数一般随机选取或是取中间值&#xff0c;然…

四、k8s实战入门

本章节将介绍如何在kubernetes集群中部署一个nginx服务&#xff0c;并且能够对其进行访问。 1 namespace Namespace是kubernetes系统中的一种非常重要资源&#xff0c;它的主要作用是用来实现多套环境的资源隔离或者多租户的资源隔离。 默认情况下&#xff0c;kubernetes集群…