原生js实现自定义alert风格和实现
2018-03-25 11:04
489 查看
2018年6月29 最新更新
添加函数节流,解决多次点击问题,添加单例模式,提高代码性能。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>自定义alert</title> <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0,user-scalable=no" name="viewport" /> <style type="text/css"> html, body { padding: 0; margin: 0; } /* //防止鼠标双击选中文字 */ div { -khtml-user-select: none; /*早期浏览器*/ user-select: none; } /* //来自animated.css的样式 */ @-webkit-keyframes fadeIn { 0% { opacity: .7 } 50% { opacity: 1 } 100% { opacity: .7 } } .toast { -webkit-animation-name: fadeIn; -webkit-animation-duration: 3s; -webkit-animation-iteration-count: 1; -webkit-animation-delay: 0s; -webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease; max-width: 80%; color:#fff; background: #2B2B2B; padding: 8px 15px; display: inline-table; border-radius: 3px; } .toast-ui { position: fixed; top:20%; color:#fff; width: 100%; text-align: center; } .maskfadeout { display: block; -webkit-animation: fadeout 3s linear; animation: fadeout 3s linear; -webkit-animation-iteration-count: 1; animation-iteration-count: 1 } @-webkit-keyframes fadeout { 0%, 80% { opacity: 1 } 100% { opacity: 0 } } @keyframes fadeout { 0%, 80% { opacity: 1 } 100% { opacity: 0 } } </style> </head> <body> <script type="text/javascript"> (function(win, doc) { var alert = function(text, time, top) { text = text || "确定删除?", time = time || 3000, top = top || "10%"; //增加默认值,增强健壮性 var body = doc.getElementsByTagName("body")[0]; //优化dom //实现alert var div = doc.createElement("div"); div.className = "toast-ui maskfadeout"; div.id = "alert"; var span = doc.createElement("span"); span.innerHTML = text; span.className = "toast"; div.appendChild(span); body.appendChild(div); setTimeout(function() { div.style.display="none"; }, 3000); } win.alert = alert; //导出 })(window, document); alert("是否删除这条评论?"); </script> </body> </html>View Code
本文结束。
相关文章推荐
- 一道前端面试题:用原生JS实现,点击按钮,alert-button的内容
- Vue结合原生js实现自定义组件自动生成示例
- JS实现自定义alert,自定义window.open
- Vue结合原生js实现自定义组件自动生成
- JS原生实现自定义滚动条
- Android AlertDialog对话框自定义风格的另类实现
- Android AlertDialog对话框自定义风格的另类实现
- 自定义浏览器alert ,抛弃掉死板的蓝框 自定义风格提示框。jquey ui bootstrap 实现自定义 alert confirm prompt ,by大崔
- 原生js实现自定义事件
- 原生JS实现自定义滚动条效果
- 原生JS实现图片翻转旋转效果
- 原生js实现发短信~chat
- js实现屏蔽默认快捷键调用自定义事件示例
- 分享一个基于长连接+长轮询+原生的JS及AJAX实现的多人在线即时交流聊天室
- node.js系列(实例):原生node.js实现静态资源管理
- 原生JS实现垂直手风琴效果
- 利用原生JS实现表格正反排序
- 原生js实现 常见的jquery的功能
- 原生js三级联动的简单实现代码
- 用自定义图片代替原生checkbox实现全选,删除以及提交的方法