js 實現可拖動alert div模擬層

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>你可以拖動我嗎?</title>
<script language="javascript">
<!--
function cry(){
alert("你可以拖動我嗎?")
}
//-->
</script>
<script language="javascript">
<!--
window.alert = function(txt)
{
    var shield = document.createElement("DIV");
    shield.id = "shield";
    shield.style.position = "absolute";
    shield.style.left = "0px";
    shield.style.top = "0px";
    shield.style.width = "100%";
    shield.style.height = "100%";
    //shield.style.height = document.body.scrollHeight+"px";
    shield.style.background = "#000";
    shield.style.textAlign = "center";
    shield.style.zIndex = "10000";
    shield.style.filter = "alpha(opacity=0)";
    var alertFram = document.createElement("DIV");
    alertFram.id="alertFram";
    alertFram.style.position = "absolute";
    //負邊界居中法,相對於shield層的頂部時
   
    //alertFram.style.left = "50%";
    //alertFram.style.top = "50%";
    //alertFram.style.marginLeft = "-125px";
    //alertFram.style.marginTop = "-75px";
   
    //負邊界居中法,相對於shield層的底部時
    alertFram.style.right = "50%";
    alertFram.style.bottom = "50%";
    alertFram.style.marginRight = "-125px";
    alertFram.style.marginBottom = "-75px";
   
    alertFram.style.width = "250px";
    alertFram.style.height = "150px";
    alertFram.style.background = "#000";
    alertFram.style.textAlign = "center";
    alertFram.style.lineHeight = "150px";
    alertFram.style.zIndex = "10002";
    strHtml = "<ul style=\"list-style:none;margin:0px;padding:0px;width:100%\">\n";
    strHtml += "<li onmousedown=\"oMove(parentNode.parentNode);\" title=\"移動\" style=\"cursor:move;background:#002F9C;text-align:left;padding-left:5px;font-size:14px;font-weight:bold;color: #FFFFFF;height:25px;line-height:25px;border-left:1px solid #FFFFFF;border-top:1px solid #FFFFFF;border-right:1px solid #FFFFFF;\">[提示……]</li>\n";
    strHtml += "<li style=\"background:#5A7EDC;text-align:center;font-size:12px;color: #FFFFFF;height:120px;line-height:120px;border-left:1px solid #FFFFFF;border-right:1px solid #FFFFFF;\">"+txt+"</li>\n";
    strHtml += "<li style=\"background:#002F9C;text-align:center;font-weight:bold;height:25px;line-height:25px; border-left:1px solid #FFFFFF;border-bottom:1px solid #FFFFFF;border-right:1px solid #FFFFFF;\"><input type=button value=' 確定 ' onclick=\"remove()\"></li>\n";
    strHtml += "</ul>\n";
    alertFram.innerHTML = strHtml;
    document.body.appendChild(alertFram);
    document.body.appendChild(shield);
    var c = 0;
    this.doAlpha = function(){
        if (c++ > 50){clearInterval(ad);return 0;}
        shield.style.filter = "alpha(opacity="+c+");";
    }
this.remove=function(){
     alertFram.innerHTML="";
   shield.style.filter = "";
   shield.id = "";
   shield.style.position = "";
   shield.style.left = "";
   shield.style.top = "";
   shield.style.width = "";
   shield.style.height ="";
   shield.style.background = "";
   shield.style.textAlign = "";
   shield.style.zIndex = "";
   shield.style.filter = "";
   alertFram.id="";
   alertFram.style.position = "";
   alertFram.style.left = "";
   alertFram.style.top = "";
   alertFram.style.marginLeft = "";
   alertFram.style.marginTop = "";
   alertFram.style.width = "";
   alertFram.style.height = "";
   alertFram.style.background = "";
   alertFram.style.textAlign = "";
   alertFram.style.lineHeight = "";
   alertFram.style.zIndex = "";
}
var ad = setInterval("doAlpha()",10);
    alertFram.focus();
    document.body.onselectstart = function(){return false;};
}
function oMove(obj){
var otop,oleft;
otop = event.y - obj.offsetTop;
oleft = event.x - obj.offsetLeft;
obj.setCapture();
obj. = function()
{
   obj.style.left = event.x - oleft;
   obj.style.top = event.y - otop;
}
obj. = function()
{
   obj. = null;
   obj.style.filter = null;
   obj.releaseCapture();
}
}
//-->
</script>
</head>
<body style="margin:0;">
<input type=submit name="cry" value="點擊我一下下^_^" style="width: 110px; height: 30px"  onClick="cry()"'></input>

</body>
</html>
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章