实现js的类似alert效果的函数

  这个简单的类似alert的函数,效果还行,至于css样式,那没的说了,笔者确实尽力了,如果读者觉得太烂,你可以随便改函数的样式的,反正,笔者觉得还可以,呵呵。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
    <title>实现类似alert效果的函数</title>
    <meta name="keywords" content="关键字列表" />
    <meta name="description" content="网页描述" />
    <link rel="stylesheet" type="text/css" href="" />
    <style type="text/css"></style>
    
</head>
<body>

</body>
</html>
<script type="text/javascript">
(function(){
//实现类似alert炫酷效果的函数
function aler(str){
    //弹出的div由遮罩层里面的弹出框以及按钮组成。
    //给div的style添加z-index:9999,数值越大,div越在最上面
    //rgba(0~255,0~255,0~255,opacity)opacity透明透明度为0~1,只设置背景颜色为透明
    //生成弹出的div,也是遮罩层
    var ale = document.createElement('div');
        ale.setAttribute("style","background: rgba(0, 0, 0,0.5); position: fixed; left: 0px; top: 0px; width: 100%; height: 100%; overflow: hidden; user-select: none; z-index:1032;");
    //给遮罩层添加id属性,为的是下面点击按钮时删除掉它
        ale.setAttribute("id","mask");
    //弹出的div添加到body中
        document.body.appendChild(ale);
    //生成弹出框
    var po = document.createElement('div');
    //弹出框添加到弹出的div遮罩层中
        ale.appendChild(po);
    //获取弹出div对象
    var mask = document.getElementById('mask');
    //按钮,绑定div弹出层的点击删除事件
    var btn = '<button onclick="document.body.removeChild(mask);">确定</button>';
    //弹出框的高度和宽度、背景颜色
    var H = 200,W = 240,backgroundcolor = '#F8931D';
    //获取实际页面的left值。(页面宽度减去元素自身宽度/2)
    var Left = (document.documentElement.clientWidth-W)/2;
    //获取实际页面的top值。(页面宽度减去元素自身高度/2)
    var top  = (document.documentElement.clientHeight-H)/2;
    //给弹出框设置属性
        po.setAttribute('style','width:'+W+'px;height:'+H+'px; background-color:'+backgroundcolor+';border:1px solid #000;position:absolute;'+'top:'+top+'px;'+'left:'+Left+'px;');
        po.innerHTML= '<div style="line-height:'+H*6/7+'px;text-align:center;width:'+W+'px;height:'+H*6/7+'px;">'+str+'</div>' + '<div style="line-height:'+H*1/7+'px;text-align:center;width:'+W+'px;height:'+H*1/7+'px;">'+btn+'</div>';
}
//返回Aler函数,取名为Alert
return window.Alert=aler;
})();
Alert('hello world');
alert('确定');
</script>

 

posted @ 2017-01-08 19:00  循环源圈  阅读(3593)  评论(0编辑  收藏  举报