html 层半透明,给页面加一层半透明div,禁用页面所有功能

这篇博客介绍了一种方法,当用户点击按钮调用webservice时,通过JavaScript显示一个半透明遮罩层来屏蔽页面其他功能,防止用户误操作。在webservice返回结果后,再移除遮罩层,恢复页面正常交互。该方法涉及到JavaScript的DOM操作、事件监听以及页面尺寸适配。
摘要由CSDN通过智能技术生成

系统中有个功能用户点击一个按钮要调用webservice,可能会等待较长时间,如果用户不耐烦,再点按钮或点击别的功能就乱套了

想到屏蔽页面所有功能,思路是用户点击按钮,调用一个javascript方法,显示预先在页面中定义好的隐藏div,返回结果后再隐藏div,允许用户继续操作。

==========================================================

半透明div

.#mask {

visibility: hidden;

background-color: #cccccc;

left: 0px;

position: absolute;

top: 0px;

background-image: none;

filter: alpha(opacity :   50);

}

.#dialog {

visibility: hidden;

background-color: #f7fcfe;

z-index: 100;

width: 300px;

height: 50px;

position: absolute;

text-align: center;

font-size: 30px;

color: #FF0000;

font-weight: bold;

vertical-align: middle;

}

function show()

{

var d_mask=document.getElementById('mask');

var d_dialog = document.getElementById('dialog');

d_mask.style.width = document.body.clientWidth ;

d_mask.style.height=document.body.clientHeight;

//网页正文全文

//d_mask.style.width = document.body.scrollWidth ;

//d_mask.style.height=document.body.scrollHeight;

d_dialog.style.top = document.body.clientHeight / 2 - 60;

d_dialog.style.left =document.body.clientWidth / 2 -100;

d_mask.style.visibility='visible';

d_dialog.style.visibility='visible';

}

function divBlock_event_mousedown()

{

var e, obj, temp;

obj=document.getElementById('dialog');

e=window.event?window.event:e;

obj.startX=e.clientX-obj.offsetLeft;

obj.startY=e.clientY-obj.offsetTop;

document.οnmοusemοve=document_event_mousemove;

temp=document.attachEvent?document.attachEvent('onmouseup',document_event_mouseup):document.addEventListener('mouseup',document_event_mouseup,'');

}

function document_event_mousemove(e)

{

var e, obj;

obj=document.getElementById('dialog');

e=window.event?window.event:e;

with(obj.style){

position='absolute';

left=e.clientX-obj.startX+'px';

top=e.clientY-obj.startY+'px';

}

}

function document_event_mouseup(e)

{

var temp;

document.οnmοusemοve='';

temp=document.detachEvent?document.detachEvent('onmouseup',document_event_mouseup):document.removeEventListener('mouseup',document_event_mouseup,'');

}

window.onresize = function()

{

var d_mask=document.getElementById('mask');

var d_dialog = document.getElementById('dialog');

d_mask.style.width = document.body.clientWidth ;

d_mask.style.height=document.body.clientHeight;

}

处理中,请等待……

测试

posted on 2008-08-26 22:06 猪 阅读(988) 评论(0)  编辑  收藏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值