JavaScript寫的一個(gè)DIV 彈出網(wǎng)頁(yè)對(duì)話框
更新時(shí)間:2009年08月14日 01:36:02 作者:
自己整理得一個(gè)JavaScript寫的一個(gè)DIV 彈出網(wǎng)頁(yè)對(duì)話框
網(wǎng)上搜索到的代碼,做了一些修改該,
修正無(wú)法自定義顏色,修正IE8 下錯(cuò)誤,以及其他小BUG 兼容IE6~8以及火狐
可以自定義
// 提示窗口標(biāo)題高度
// 提示窗口的邊框顏色
// 提示窗口的標(biāo)題顏色
// 提示窗口的標(biāo)題背景色
// 提示內(nèi)容的背景色
// 提示內(nèi)容文字對(duì)齊方式
功能 可以彈出一個(gè)大DIV遮住頁(yè)面(IE下 透明) 然后在屏幕中央顯示顯示一個(gè)小DIV
可用作功能提示 操作提示 以及公告等
提示內(nèi)容可以使帶HTML標(biāo)記的文字,也可是一個(gè)頁(yè)面鏈接
function MessageBox()
{
this.titleheight = "21"; // 提示窗口標(biāo)題高度
this.bordercolor = "#666699"; // 提示窗口的邊框顏色
this.titlecolor = "#1259a4"; // 提示窗口的標(biāo)題顏色
this.titlebgcolor = "#e4f1fb"; // 提示窗口的標(biāo)題背景色
this.bgcolor = "#FFFFFF"; // 提示內(nèi)容的背景色
this.MsgAlign="left";
this.Show=function(title, msg, framesrc, w, h)
{
var iWidth = document.documentElement.clientWidth;
var iHeight = document.documentElement.clientHeight+document.documentElement.scrollTop*2;
var bgObj = document.createElement("div");
bgObj.style.cssText = "position:absolute;left:0px;top:0px;width:"+iWidth+"px;height:"+Math.max(document.body.clientHeight, iHeight)+"px;filter:Alpha(Opacity=30);opacity:0.3;background-color:#000000;z-index:101;";
document.body.appendChild(bgObj);
var msgObj=document.createElement("div");
msgObj.style.cssText = "position:absolute;font:11px '宋體';top:"+(iHeight-h)/2+"px;left:"+(iWidth-w)/2+"px;width:"+w+"px;height:"+h+"px;text-align:center;border:1px solid "+this.bordercolor+";background-color:"+this.bgcolor+";padding:1px;line-height:22px;z-index:102;";
document.body.appendChild(msgObj);
var table = document.createElement("table");
msgObj.appendChild(table);
table.style.cssText = "margin:0px;border:0px;padding:0px;";
table.cellSpacing = 0;
var tr = table.insertRow(-1);
var titleBar = tr.insertCell(-1);
titleBar.style.cssText = ";width:"+(w-84)+"px;height:"+this.titleheight+"px;text-align:left;padding:3px;margin:0px;font:bold 13px '宋體';color:"+this.titlecolor+";cursor:move;background-color:" + this.titlebgcolor;
titleBar.style.paddingLeft = "10px";
titleBar.innerHTML = title;
var moveX = 0;
var moveY = 0;
var moveTop = 0;
var moveLeft = 0;
var moveable = false;
var docMouseMoveEvent = document.onmousemove;
var docMouseUpEvent = document.onmouseup;
titleBar.onmousedown = function(){
var evt = getEvent();
moveable = true;
moveX = evt.clientX;
moveY = evt.clientY;
moveTop = parseInt(msgObj.style.top);
moveLeft = parseInt(msgObj.style.left);
document.onmousemove = function(){
if (moveable)
{
var evt = getEvent();
var x = moveLeft + evt.clientX - moveX;
var y = moveTop + evt.clientY - moveY;
if ( x > 0 &&( x + w < iWidth) && y > 0 && (y + h < iHeight) )
{
msgObj.style.left = x + "px";
msgObj.style.top = y + "px";
}
}
};
document.onmouseup = function (){
if (moveable)
{
document.onmousemove = docMouseMoveEvent;
document.onmouseup = docMouseUpEvent;
moveable = false;
moveX = 0;
moveY = 0;
moveTop = 0;
moveLeft = 0;
}
};
}
var closeBtn = tr.insertCell(-1);
closeBtn.style.cssText = "cursor:pointer; padding:2px;background-color:" + this.titlebgcolor;
closeBtn.innerHTML = "<span style="font-size:10pt;color:"+this.titlecolor+";" style="font-size:10pt;color:"+this.titlecolor+";" id='closeBtn'>×關(guān)閉窗口";
closeBtn.onclick = function(){
document.body.removeChild(bgObj);
document.body.removeChild(msgObj);
}
var msgBox = table.insertRow(-1).insertCell(-1);
msgBox.style.cssText = "font:10pt '宋體';";
msgBox.colSpan = 2;
if(framesrc != "")
{
msg = "<iframe name='frmAlertWin' id='frmAlertWin' src="about:blank" src="about:blank" frameborder=0 marginwidth=0 marginheight=0 style='height:"+(h-this.titleheight-10)+"px;width:100%;'></iframe>";
}
msgBox.innerHTML = "<div style="\" style="\""text-align:"+this.MsgAlign+";\">"+msg+"</div>";
if(document.getElementById("frmAlertWin") != null)
{
document.getElementById("frmAlertWin").src = framesrc;
}
function getEvent(){
return window.event || arguments.callee.caller.arguments[0];
}
}
}
調(diào)用方式
var msgbox=new MessageBox();
msgbox.Show('站內(nèi)公告',"小小提示","",500,220);///參數(shù):標(biāo)題,內(nèi)容(提示為連接頁(yè)面時(shí)可為空),連接頁(yè)面地址(使用文字是可為空),寬度,高度
要注意的是如果在頁(yè)面加載時(shí)就要彈出提示 請(qǐng)將調(diào)用代碼放在body標(biāo)記以后 否則在IE8下回出現(xiàn)錯(cuò)誤
修正無(wú)法自定義顏色,修正IE8 下錯(cuò)誤,以及其他小BUG 兼容IE6~8以及火狐
可以自定義
// 提示窗口標(biāo)題高度
// 提示窗口的邊框顏色
// 提示窗口的標(biāo)題顏色
// 提示窗口的標(biāo)題背景色
// 提示內(nèi)容的背景色
// 提示內(nèi)容文字對(duì)齊方式
功能 可以彈出一個(gè)大DIV遮住頁(yè)面(IE下 透明) 然后在屏幕中央顯示顯示一個(gè)小DIV
可用作功能提示 操作提示 以及公告等
提示內(nèi)容可以使帶HTML標(biāo)記的文字,也可是一個(gè)頁(yè)面鏈接
復(fù)制代碼 代碼如下:
function MessageBox()
{
this.titleheight = "21"; // 提示窗口標(biāo)題高度
this.bordercolor = "#666699"; // 提示窗口的邊框顏色
this.titlecolor = "#1259a4"; // 提示窗口的標(biāo)題顏色
this.titlebgcolor = "#e4f1fb"; // 提示窗口的標(biāo)題背景色
this.bgcolor = "#FFFFFF"; // 提示內(nèi)容的背景色
this.MsgAlign="left";
this.Show=function(title, msg, framesrc, w, h)
{
var iWidth = document.documentElement.clientWidth;
var iHeight = document.documentElement.clientHeight+document.documentElement.scrollTop*2;
var bgObj = document.createElement("div");
bgObj.style.cssText = "position:absolute;left:0px;top:0px;width:"+iWidth+"px;height:"+Math.max(document.body.clientHeight, iHeight)+"px;filter:Alpha(Opacity=30);opacity:0.3;background-color:#000000;z-index:101;";
document.body.appendChild(bgObj);
var msgObj=document.createElement("div");
msgObj.style.cssText = "position:absolute;font:11px '宋體';top:"+(iHeight-h)/2+"px;left:"+(iWidth-w)/2+"px;width:"+w+"px;height:"+h+"px;text-align:center;border:1px solid "+this.bordercolor+";background-color:"+this.bgcolor+";padding:1px;line-height:22px;z-index:102;";
document.body.appendChild(msgObj);
var table = document.createElement("table");
msgObj.appendChild(table);
table.style.cssText = "margin:0px;border:0px;padding:0px;";
table.cellSpacing = 0;
var tr = table.insertRow(-1);
var titleBar = tr.insertCell(-1);
titleBar.style.cssText = ";width:"+(w-84)+"px;height:"+this.titleheight+"px;text-align:left;padding:3px;margin:0px;font:bold 13px '宋體';color:"+this.titlecolor+";cursor:move;background-color:" + this.titlebgcolor;
titleBar.style.paddingLeft = "10px";
titleBar.innerHTML = title;
var moveX = 0;
var moveY = 0;
var moveTop = 0;
var moveLeft = 0;
var moveable = false;
var docMouseMoveEvent = document.onmousemove;
var docMouseUpEvent = document.onmouseup;
titleBar.onmousedown = function(){
var evt = getEvent();
moveable = true;
moveX = evt.clientX;
moveY = evt.clientY;
moveTop = parseInt(msgObj.style.top);
moveLeft = parseInt(msgObj.style.left);
document.onmousemove = function(){
if (moveable)
{
var evt = getEvent();
var x = moveLeft + evt.clientX - moveX;
var y = moveTop + evt.clientY - moveY;
if ( x > 0 &&( x + w < iWidth) && y > 0 && (y + h < iHeight) )
{
msgObj.style.left = x + "px";
msgObj.style.top = y + "px";
}
}
};
document.onmouseup = function (){
if (moveable)
{
document.onmousemove = docMouseMoveEvent;
document.onmouseup = docMouseUpEvent;
moveable = false;
moveX = 0;
moveY = 0;
moveTop = 0;
moveLeft = 0;
}
};
}
var closeBtn = tr.insertCell(-1);
closeBtn.style.cssText = "cursor:pointer; padding:2px;background-color:" + this.titlebgcolor;
closeBtn.innerHTML = "<span style="font-size:10pt;color:"+this.titlecolor+";" style="font-size:10pt;color:"+this.titlecolor+";" id='closeBtn'>×關(guān)閉窗口";
closeBtn.onclick = function(){
document.body.removeChild(bgObj);
document.body.removeChild(msgObj);
}
var msgBox = table.insertRow(-1).insertCell(-1);
msgBox.style.cssText = "font:10pt '宋體';";
msgBox.colSpan = 2;
if(framesrc != "")
{
msg = "<iframe name='frmAlertWin' id='frmAlertWin' src="about:blank" src="about:blank" frameborder=0 marginwidth=0 marginheight=0 style='height:"+(h-this.titleheight-10)+"px;width:100%;'></iframe>";
}
msgBox.innerHTML = "<div style="\" style="\""text-align:"+this.MsgAlign+";\">"+msg+"</div>";
if(document.getElementById("frmAlertWin") != null)
{
document.getElementById("frmAlertWin").src = framesrc;
}
function getEvent(){
return window.event || arguments.callee.caller.arguments[0];
}
}
}
調(diào)用方式
var msgbox=new MessageBox();
msgbox.Show('站內(nèi)公告',"小小提示","",500,220);///參數(shù):標(biāo)題,內(nèi)容(提示為連接頁(yè)面時(shí)可為空),連接頁(yè)面地址(使用文字是可為空),寬度,高度
要注意的是如果在頁(yè)面加載時(shí)就要彈出提示 請(qǐng)將調(diào)用代碼放在body標(biāo)記以后 否則在IE8下回出現(xiàn)錯(cuò)誤
相關(guān)文章
JavaScript獲取DOM元素的11種方法總結(jié)
這篇文章主要介紹了JavaScript獲取DOM元素的11種方法總結(jié),本文用分4大類11個(gè)方法總結(jié)如何獲取DOM元素,需要的朋友可以參考下2015-04-04JavaScript內(nèi)置對(duì)象math,global功能與用法實(shí)例分析
這篇文章主要介紹了JavaScript內(nèi)置對(duì)象math,global功能與用法,結(jié)合實(shí)例形式分析了javascript中內(nèi)置對(duì)象math與global的基本概念、功能及使用方法,需要的朋友可以參考下2019-06-06js實(shí)現(xiàn)的仿新浪微博完美的時(shí)間組件升級(jí)版
本博客沒(méi)有華麗的布局,只求樸實(shí)的js的代碼,只為js代碼愛(ài)好者提供,一周大概會(huì)出1-2篇js前沿代碼的文章.只是代碼,不說(shuō)技術(shù)2011-12-12js canvas實(shí)現(xiàn)驗(yàn)證碼并獲取驗(yàn)證碼功能
這篇文章主要為大家詳細(xì)介紹了js canvas實(shí)現(xiàn)驗(yàn)證碼并獲取驗(yàn)證碼功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09js實(shí)現(xiàn)隨機(jī)點(diǎn)名系統(tǒng)(實(shí)例講解)
下面小編就為大家?guī)?lái)一篇js實(shí)現(xiàn)隨機(jī)點(diǎn)名系統(tǒng)(實(shí)例講解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10