原生js实现自定义消息提示框

 更新时间:2023年04月24日 00:57:10   作者:weixin_44953227  
这篇文章主要为大家详细介绍了原生js实现自定义消息提示框,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了js实现自定义消息提示框的具体代码,供大家参考,具体内容如下

效果图

上代码

<!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>
  .popupStyle {
  display: none;
  width: 160px;
  background-color: rgb(85, 85, 85);
  color: #fff;
  text-align: center;
  border-radius: 6px;
  padding: 8px 0;
  position: fixed;
  z-index: 1;
  top: 2%;
  left: 50%;
  margin-left: -80px;
 }
 
  .popupStyle::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #555 transparent transparent transparent;
 }
</style>
<body style="text-align:center">
 
 <h2 style="margin-top: 100px;">弹窗</h2>
  
 <div style="text-align: center;">
  <a href="#" onclick="handleMsg(msg)">点我有弹窗!</a>
  <a href="#" onclick="handleDomMsg(domMsg)">点我有弹窗!</a>
 </div>

 <span class="popupStyle" id="popupMsg">提示信息!</span>
 

 <script>
  const msg = "我是样式弹窗";
  const domMsg = "我是DOM弹窗";

  // 样式弹窗
  function handleMsg(message) {
   const popup = document.getElementById("popupMsg");
   popup.innerHTML = message || "Hello, World";
   popup.style.display="block";
   setTimeout(() => {
    popup.style.display="none"
   }, 1000);
  }

  // DOM 弹窗
  function handleDomMsg(message) {
   const div = document.createElement("div");
   document.body.appendChild(div);
   div.innerHTML = message || "this is a Message";
   div.className = "popupStyle";
   div.style.display = "block";

   setTimeout(() => {
    div.remove();
   }, 1000);
  }
 </script>
</body>
</html>

再给大家提供一个类似的原生js实现的提示框

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .popupStyle{
            width:260px;
            height:80px;
            background-color: rgb(85,85,85);            
            /* display:none; */
            color:#fff;
            text-align:center;
            line-height:80px;
            border-radius:20px;
            padding:8px 0;
            position:fixed;
            z-index:1;
            top:2%;
            left:50%;
            transform:translateX(-50%);
        }
        .popupStyle::after{
            content:"after";
            color:black;
            position:absolute;
            top:100%;
            left:50%;
            transform:translateX(-50%);
            border-width:10px;
            line-height:15px;
            border-style:solid;
            border-color:rgb(1, 0, 5) transparent transparent transparent;
        }
    </style>
</head>
<body style="text-align:center;">
    <h2 style="margin-top:200px;">Pop Up</h2>
    <div style="text-align:center;">
        <a href="#" onclick="stylePopup(styleMsg)">stylePopup</a>
        <a href="#" onclick="domPopup(domMsg)">domPopup</a>
    </div>
    <span class="popupStyle" id="popup">popupStyle</span>
    <script>
        console.log(getComputedStyle(popup).display)
        const styleMsg='Popup of style'
        const domMsg='Popup of dom'
        function stylePopup(message){
            const popup=document.getElementById('popup')
            console.log(popup)
            popup.innerHTML=message || 'default messsage'
            popup.style.display='block'
            setTimeout(()=>{
                popup.style.display='none'
            },1000)
        }
        function domPopup(message){
            const span=document.createElement('span')
            span.innerHTML=message || 'default'
            span.className='popupStyle'
            span.style.display='block'
            document.body.appendChild(span)
            setTimeout(()=>{
                span.remove()
            },1000)
        }
    </script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Canvas实现放射线动画效果

    Canvas实现放射线动画效果

    本文主要分享了Canvas实现放射线动画的示例代码。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • 浅谈document.write()输出样式

    浅谈document.write()输出样式

    这篇文章主要介绍了浅谈document.write()输出样式,十分的简单实用,有需要的小伙伴可以参考下。
    2015-05-05
  • 使用js简单实现了tree树菜单

    使用js简单实现了tree树菜单

    使用js简单实现了树菜单!具体实现实例代码如下,相信自己你一定可以实现的更好
    2013-11-11
  • js+canvas实现简单扫雷小游戏

    js+canvas实现简单扫雷小游戏

    这篇文章主要为大家详细介绍了js+canvas实现简单扫雷小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-02-02
  • JS FormData上传文件的设置方法

    JS FormData上传文件的设置方法

    使用FormData上传文件时,总是获取不到req.file对象。发现是没有配置对FormData导致的,怎么解决这个问题呢?下面小编给大家带来了JS FormData上传文件的设置方法,需要的朋友参考下吧
    2017-07-07
  • Array.prototype 的泛型应用分析

    Array.prototype 的泛型应用分析

    Array.prototype 的泛型应用分析,需要的朋友可以参考下。
    2010-04-04
  • js表单处理中单选、多选、选择框值的获取及表单的序列化

    js表单处理中单选、多选、选择框值的获取及表单的序列化

    这篇文章主要介绍了js表单处理中单选、多选、选择框值的获取及表单的序列化的相关资料,需要的朋友可以参考下
    2016-03-03
  • ES6深入理解之“let”能替代”var“吗?

    ES6深入理解之“let”能替代”var“吗?

    这篇文章主要介绍了关于ES6之"let"能替代"var"的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编一起来学习学习吧。
    2017-06-06
  • 前端实现Word在线预览功能详解

    前端实现Word在线预览功能详解

    这篇文章主要给大家介绍了关于前端实现Word在线预览功能的相关资料,工作中经常有时会遇到需要给用户创建word文档并实现word文档在线预览的需求,需要的朋友可以参考下
    2023-09-09
  • 基于JS判断对象是否是数组

    基于JS判断对象是否是数组

    这篇文章主要介绍了基于JS判断对象是否是数组,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01

最新评论