• 纯手写 模态框、消息弹框、呼吸灯


    在有些做某些网页中,应用不想引用一些前端框架,对于一些比较常用的插件可以纯手写实现

    1、模态框

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Water Ripple Effect</title>
    <style>
    	.modal-container {
    	  display: none;
    	  position: fixed;
    	  z-index: 1;
    	  left: 0;
    	  top: 0;
    	  width: 100%;
    	  height: 100%;
    	  overflow: auto;
    	  background-color: rgba(0, 0, 0, 0.4);
    	}
    
    	.modal-content {
    	  background-color: #fefefe;
    	  margin: 15% auto;
    	  padding: 20px;
    	  border: 1px solid #888;
    	  width: 80%;
    	  max-width: 600px;
    	}
    
    	.close {
    	  color: #aaa;
    	  float: right;
    	  font-size: 28px;
    	  font-weight: bold;
    	  cursor: pointer;
    	}
    
    	.close:hover,
    	.close:focus {
    	  color: black;
    	  text-decoration: none;
    	  cursor: pointer;
    	}
    
    	.modal-btn {
    	  background-color: #4caf50;
    	  color: white;
    	  padding: 10px 20px;
    	  border: none;
    	  border-radius: 4px;
    	  cursor: pointer;
    	}
    
    </style>
    </head>
    <body>
    	<button id="open-modal-btn" onclick="openModal()">打开模态框</button>
    	<div id="modal-container" class="modal-container">
    	  <div class="modal-content">
    		<span class="close" onclick="closeModal()">&times;</span>
    		<h2>模态框标题</h2>
    		<p>模态框的内容在这里。</p>
    		<button class="modal-btn" onclick="closeModal()">关闭</button>
    	  </div>
    	</div>
    	<script>
    	function openModal() {
      document.getElementById("modal-container").style.display = "block";
    }
    
    function closeModal() {
      document.getElementById("modal-container").style.display = "none";
    }
    	</script>
    </body>
    </html>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75

    2、呼吸灯

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Water Ripple Effect</title>
    <style>
    	body {background-color: #000;}
    
    	.ripple {
    	  margin: auto;
    	  margin-top: 5rem;
    	  width: 1rem;
    	  height: 1rem;
    	  border-radius: 50%;
    	  position:relative;
    	  animation: ripple 3s linear infinite;
    	}
    	.ripple::before,
    	.ripple::after{
    	  content:"";
    	  position:absolute;
    	  top:0;
    	  left:0;
    	  right:0;
    	  bottom:0;
    	  border-radius: 50%;
    	  animation:inherit;
    	  animation-delay:1s;
    	}
    	.ripple::after {
    	  animation-delay:2s;
    	}
    	@keyframes ripple {
    	  0% {
    		box-shadow: 0 0 0 .3rem var(--ripple-color);
    	  }
    	  100% {
    		box-shadow: 0 0 0 8rem rgba(255,255,255, 0);
    	  }
    	}
    </style>
    </head>
    <body>
    	<div class="ripple" style="--ripple-color: rgba(255,0,0, 0.2); background-color: red;"></div>
    	<div class="ripple" style="--ripple-color: rgba(0,255,0, 0.2); background-color: green;"></div>
    	<div class="ripple" style="--ripple-color: rgba(0,0,255, 0.2); background-color: blue;"></div>
    	<div class="ripple" style="--ripple-color: rgba(255,255,0, 0.2); background-color: yellow;"></div>
    </body>
    </html>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50

    3、消息弹框

    <!DOCTYPE html>
    <html>
    <head>
      <title>消息弹框示例</title>
      <style>
        .message-box {
          position: fixed;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          background-color: #fff;
          padding: 10px;
          border: 1px solid blue;
          border-radius: 5px;
        }
      </style>
    </head>
    <body>
      <button onclick="showMessage()">显示消息</button>
    
      <script>
        // 创建一个函数来显示消息弹框
        function showMessage() {
          var equipment_name = '设备XXX';
    
          // 创建一个新的元素来显示消息
          var messageElement = document.createElement('div');
          messageElement.textContent = equipment_name + '没有生产数据!';
          messageElement.classList.add('message-box');
    
          // 将消息元素添加到页面的body中
          document.body.appendChild(messageElement);
    
          // 设置一个定时器,在一定时间后移除消息元素
          setTimeout(function() {
            document.body.removeChild(messageElement);
          }, 3000); // 3秒后移除消息元素
        }
      </script>
    </body>
    </html>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42

    4、跳转页

    
    
      
      跳转页面
      
    
    
      
    该网站已迁移
    3
    马上跳转到 http://10.10.101.97:8079

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
  • 相关阅读:
    小工具推荐:FastGithub的下载及使用
    centos7平台安装部署mysql8(.tar包形式)
    7个最佳开源免费库存/仓库管理系统(WMS)
    数字孪生云渲染整体架构设计
    接口自动化测试_L3
    一招教你控制python多线程的线程数量
    第二章 进程与线程 十八、(生产者-消费者问题),(多生产者-多消费者问题),(抽烟者问题),(读者-写者问题),(哲学家就餐问题)
    公共安全数据协同治理的逻辑框架与网络形式——以兰州市食品安全领域为例
    会议OA之我的审批(查询&签字)
    http post协议发送本地压缩数据到服务器
  • 原文地址:https://blog.csdn.net/qq_38567182/article/details/134364107