天天看点

弹框CSS、JS

非本人原创,此为本人导师代码,在此整理分析。

1、遮蔽层,弹框弹出时,页面变灰。

CSS部分

.overlay{display:none;position:fixed;left:0;top:0;z-index:1000;width:100%;height:100%;background-color:hsla(0, 0%, 0%, .7);}

2、定时提示小弹框,页面垂直居中显示

弹框CSS、JS

 /*toast提示*/

    .toast{position:fixed;top:50%;left:50%;z-index:1100;display:none;width:13em;padding:.8em 1em;background-color:hsla(0, 0%, 0%, .7);

        text-align:center;color:#fff;font-size:14px;line-height:1.3;border-radius:.5em;

        box-shadow:0 0 4px 2px hsla(0, 0%, 0%, .3);

        -webkit-transform: translate(-50%, -50%);

        -moz-transform: translate(-50%, -50%);

        -ms-transform: translate(-50%, -50%);

        -o-transform: translate(-50%, -50%);

        transform: translate(-50%, -50%);

    }

JS部分

   /**

     * toast提示,用于提示用户信息,4秒后自动关闭,点击页面关闭

     *调用:toast(string)

     */

    toast: (function() {

        var d = document,

            ele = d.getElementById("toast"),

            isVisible = 0,     //还想不明白为什么要设置这里

            identity;

        if(ele === null) {

            ele = d.createElement("div");

            ele.id = "toast";

            ele.className = "toast";

            ele.style.display = "none";

            d.body.appendChild(ele);

        }       //创建DIV

        var hideFn = function() {

            if(isVisible) {

                clearTimeout(identity);

                ele.style.display = "none";

                isVisible = 0;

            }

        };

        d.addEventListener("click", hideFn, true);

        function show(string) {

            ele.innerHTML = string;

            ele.style.display = "block";

            isVisible = 1;

            clearTimeout(identity);

            identity = setTimeout(function() {

            }, 4000);

            return identity;

        }

        return show;

    }())

};