色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

javascript div 遮罩層封鎖整個頁面

具體解決方案如下:
一、IE和FF下document.body對象的clientHeight,offsetHeight,scrollHeight屬性的差別。
clientHeight
在IE和FF下,該屬性沒什么差別,都是指瀏覽器的可視區域,即除去瀏覽器的那些工具欄狀態欄剩下的頁面展示空間的高度。
offsetHeight
在IE下,offsetHeight也是瀏覽器可視區域的高(包括邊線)
在FF下,offsetHeight是頁面具體內容的高度
scrollHeight
在IE下,scrollHeight 是頁面具體內容的高度,可以小于clientHeight
在FF下,scrollHeight 是網頁內容高度,不過最小值是clientHeight
二、下面是跨瀏覽器取得當前頁面的高度的解決方法。
復制代碼 代碼如下:
function getPageSize()
{
var body = document.documentElement;
var bodyOffsetWidth = 0;
var bodyOffsetHeight = 0;
var bodyScrollWidth = 0;
var bodyScrollHeight = 0;
var pageDimensions = [0,0];
pageDimensions[0]=body.clientHeight;
pageDimensions[1]=body.clientWidth;
bodyOffsetWidth=body.offsetWidth;
bodyOffsetHeight=body.offsetHeight;
bodyScrollWidth=body.scrollWidth;
bodyScrollHeight=body.scrollHeight;
if(bodyOffsetHeight > pageDimensions[0])
{
pageDimensions[0]=bodyOffsetHeight;
}
if(bodyOffsetWidth > pageDimensions[1])
{
pageDimensions[1]=bodyOffsetWidth;
}
if(bodyScrollHeight > pageDimensions[0])
{
pageDimensions[0]=bodyScrollHeight;
}
if(bodyScrollWidth > pageDimensions[1])
{
pageDimensions[1]=bodyScrollWidth;
}
return pageDimensions;
}

三、頁面上必須放置一個div,作為遮罩層,下面是這個遮罩層的css樣式。
復制代碼 代碼如下:
.lockDiv
{
position:absolute;
left:0;
top:0;
height:0;
width:0;
border:2 solid red;
display:none;
text-align:center;
background-color:#DBDBDB;
filter:Alpha(opacity=60);
}

四、在客戶端使用下面的Javascript用遮罩層將整個頁面封閉。
復制代碼 代碼如下:
var sandglassSpan = 1;
var timeHdl;
function DisablePage()
{
var ctrlSandglass = document.getElementById("divSandglass");
if(sandglassSpan==0)
{
window.clearTimeout(timeHdl);
ctrlSandglass.style.display = "none";
document.body.style.cursor = 'auto';
sandglassSpan = 1;
}
else
{
document.body.style.cursor = 'wait';
var pageDimensions = getPageSize();
ctrlSandglass.style.top = 0;
ctrlSandglass.style.left = 0;
ctrlSandglass.style.height = pageDimensions[0];
ctrlSandglass.style.width = pageDimensions[1];
ctrlSandglass.style.display = "block";
timeHdl = window.setTimeout(DisablePage,200);
}
}

五、如果頁面上使用了ASP.NET的Validator控件,那么應該使用如下的Javascript。
復制代碼 代碼如下:
var sandglassSpan = 1;
var timeHdl;
function DisablePageHaveValidator()
{
var ctrlSandglass = document.getElementById("divSandglass");
if(false == Page_IsValid)
{
sandglassSpan = 0;
}
if(sandglassSpan==0)
{
window.clearTimeout(timeHdl);
ctrlSandglass.style.display = "none";
document.body.style.cursor = 'auto';
sandglassSpan = 1;
}
else
{
document.body.style.cursor = 'wait';
ctrlSandglass.style.display = "block";
var pageDimensions = getPageSize();
ctrlSandglass.style.top = 0;
ctrlSandglass.style.left = 0;
ctrlSandglass.style.height = pageDimensions[0];
ctrlSandglass.style.width = pageDimensions[1];
timeHdl = window.setTimeout(DisablePageHaveValidator, 200);
}
}

六、DisablePage和DisablePageHaveValidator這兩個方法可以在按鈕的onclick事件或其它時機調用。

JavaScript技術javascript div 遮罩層封鎖整個頁面,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 肥乡县| 开远市| 青岛市| 永济市| 大渡口区| 台州市| 丰都县| 延津县| 鄯善县| 汕头市| 宣汉县| 三台县| 永定县| 宾川县| 乡宁县| 威海市| 伊宁市| 那坡县| 广汉市| 天峻县| 长治县| 淮北市| 北流市| 璧山县| 衡南县| 锦州市| 塘沽区| 资兴市| 东港市| 古浪县| 仁化县| 木里| 宜州市| 政和县| 荣昌县| 南涧| 土默特左旗| 富源县| 麦盖提县| 凌源市| 高阳县|