js弹窗消息动画 原生js实现弹窗消息动画
weixin_44953227 人气:1效果图
代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>动画消息弹窗</title> </head> <style> .message { -webkit-box-sizing: border-box; box-sizing: border-box; margin: 0; padding: 0; color: rgba(0, 0, 0, 0.85); font-size: 14px; font-variant: tabular-nums; line-height: 1.5715; list-style: none; -webkit-font-feature-settings: 'tnum'; font-feature-settings: 'tnum'; position: fixed; top: 8px; left: 0; z-index: 1010; width: 100%; pointer-events: none; } .message-notice { padding: 8px; text-align: center; -webkit-animation-name: MessageMoveOut; animation-name: MessageMoveOut; -webkit-animation-duration: 0.3s; animation-duration: 0.3s; } .message-content { color: #52c41a; display: inline-block; padding: 10px 16px; background: #fff; border-radius: 2px; -webkit-box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); pointer-events: all; } @-webkit-keyframes MessageMoveOut { 0% { max-height: 0; padding: 0; opacity: 0; } 100% { max-height: 150px; padding: 8px; opacity: 1; } } @keyframes MessageMoveOut { 0% { max-height: 0; padding: 0; opacity: 0; } 100% { max-height: 150px; padding: 8px; opacity: 1; } } </style> <body style="text-align: center;"> <div style="margin: 100px 500px;text-align: right;"> <a href="#" rel="external nofollow" onclick="handleMessage()">点击弹窗</a> </div> <div class="message" id="message"></div> <script> const msg = "我是弹框消息"; // 弹窗消息 function handleMessage(message = msg) { const parentDiv = document.createElement("div"); const div = document.createElement("div"); div.className = "message-content"; div.innerHTML = message; parentDiv.appendChild(div); parentDiv.className = "message-notice"; document.getElementById("message").appendChild(parentDiv); setTimeout(() => { parentDiv.remove(); }, 2000); } </script> </body> </html>
加载全部内容