美文网首页
js封装提示框, js写message提示框

js封装提示框, js写message提示框

作者: 执笔于情 | 来源:发表于2022-04-28 17:35 被阅读0次

    一般都用统一的提示样式, 自己写小demo的时候也会去写些杂七杂八的东西, 记录一下

    • JavaScript部分
    // 提示框
        function message(val) {
            if ($(".message").length == 0) {
                // 定义val的参数
                const { message, type = "success", duration = 2000 } = val;
                // 成功的样式
                // 获取body
                var body = document.body;
                // 创建div
                var div = document.createElement("div");
                var i = document.createElement("i");
                i.classList.add("icon-sv");
                // 获取要提示的文本
                // 把文本添加进刚创建的div里面
                // body里加上这个样式
                div.setAttribute("class", "message");
                // 如果为成功, 就改成成功的样式
                if (type === "success") {
                    div.classList.add("success");
                    i.classList.add("icon-sv-success");
                } else if (type == "error") {
                    div.classList.add("error");
                    i.classList.add("icon-sv-error")
                } else if (type == "warning") {
                    div.classList.add("warning");
                    i.classList.add("icon-sv-warning")
                } else {
                    div.classList.add("info");
                }
                div.appendChild(i);
                var text = document.createTextNode(message);
                div.appendChild(text);
    
                // 把div添加进body里面
                body.appendChild(div);
    
                // 给个定时器, 两秒钟后关闭, 再删除创建的这个div
                setTimeout(() => {
                    // div.style.top = "-45px";
                    body.removeChild(div);
                }, duration);
            }
        }
    
    • css部分
    /* 提示框样式 */
        .message {
            min-width: 300px;
            max-width: 500px;
            min-height: 45px;
            text-align: center;
            align-items: center;
            padding: 10px 30px;
            box-sizing: border-box;
            margin: auto;
            font-size: 16px;
            position: fixed;
            top: 50%;
            left: 50%;
            margin-top: -60px;
            margin-left: -150px;
            transition: all .4s ease;
            z-index: 5000;
            box-shadow: 1px 1px 5px rgb(0 0 0 / 20%);
            border-radius: 2px;
        }
    
        .message i {
            margin-right: 10px;
        }
    
        .success {
            background-color: #f7fbef;
            color: #63c339;
        }
    
        .error {
            background-color: #fff3f7;
            color: #f76d6b;
        }
    
        .warning {
            background-color: #fdf6ec;
            color: #e6a23c;
        }
    
        .info{
            background-color: #000;
            color: #fff;
            opacity: .5;
        }
    
    • 使用示例
    message({
        message: "message提示消息",
        type: "info",
        duration: 2000
    })
    

    也可以把css部分放进js部分, 由js去添加css, 不过懒得弄了, 就这样吧

    相关文章

      网友评论

          本文标题:js封装提示框, js写message提示框

          本文链接:https://www.haomeiwen.com/subject/ezudyrtx.html